C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のAnyメソッドとは?条件を満たす要素の有無を判定する使い方とサンプルコード

C#のLINQに含まれるAnyメソッドは、シーケンス(配列やリストなどのコレクション)内の要素のうち、少なくとも1つが指定した条件を満たしているかどうかを判定するメソッドです。

条件を満たす要素が1つでも存在すれば true を返し、1つも存在しなければ false を返します。

基本構文

bool result = collection.Any(要素 => 条件);

使用例

まず、次のような整数型の配列を用意します。

int[] arr = {5, 7, 10, 12, 15, 18, 20};

この配列に対して Any() メソッドを使い、「10より大きい要素が1つでも存在するかどうか」を確認してみましょう。

arr.AsQueryable().Any(val => val > 10);

上記の配列には12、15、18、20といった10より大きい要素が含まれているため、条件を満たす要素が存在し、結果として true が返されます。

完全なサンプルコード

using System;
using System.Linq;

class Demo {
    static void Main() {
        int[] arr = {5, 7, 10, 12, 15, 18, 20};

        // 配列の要素に10より大きい値が存在するかどうかを確認
        bool res = arr.AsQueryable().Any(val => val > 10);

        Console.WriteLine(res);
    }
}

実行結果

True

ポイントまとめ

  • Anyメソッドは、シーケンス内に条件を満たす要素が1つでもあるかを判定し、true/false を返す。
  • 条件を満たす要素が見つかった時点で処理を終了するため、大きなコレクションでも効率的に動作する。
  • ラムダ式を渡さずに Any() と呼び出した場合は、「シーケンスに要素が1つでも含まれているか(空でないか)」を判定できる。
  1. C#のCompareTo()メソッドの使い方を解説

    C#では、2つの値を比較する際にCompareTo()メソッドを使用します。このメソッドは、呼び出し元の値と引数で渡した値を比較し、その大小関係を整数値として返します。CompareTo()メソッドの戻り値CompareTo()メソッドの戻り値は以下の3パターンです。0 = 両方の値が等しい場合1 = 呼び出し元の値が引数の値より大きい場合(第2の数値が小さい)-1 = 呼び出し元の値が引数の値より小さい場合(第1の数値が小さい)CompareTo()メソッドの実装例それでは、C#でCompareTo()メソッドを実装するサンプルコードを見てみましょう。ここでは、同じ値を持つ2つのint型変数

  2. RubyのArray#zipメソッド徹底解説!2つの配列をスマートに結合する方法

    2つの配列を要素ごとに比較して、その違いを見つけたいと思ったことはありませんか? あるいは、各インデックスごとに最大の数値を求めたい、キーのリストと値のリストを組み合わせてハッシュを作りたい――そんな場面にも出会うことがあるでしょう。 …これを「面倒な方法」で実装すると、次のようなコードになります。 例:冗長な書き方 a = [1,2,3,4,5] b = [1,2,3,6,8] c = a.map.with_index { |_, idx| [a[idx], b[idx]] } # [[1, 1], [2, 2], [3, 3], [4, 6], [5, 8]] 確かに動作はしますが