for WPF developers
Home Profile Tips 全記事一覧

Any 拡張メソッドで条件を満たしている要素があるかどうかを判定する

(2017/03/07 20:07:55 created.)

(2017/03/07 20:18:18 modified.)

Any 拡張メソッドは、すべての要素に対して指定した条件を満たすかどうかを判定し、ひとつでも条件を満たす要素がある場合に true を返します。次のコードでは違いをわかりやすくするために All 拡張メソッドも使用しています。

Program.cs
  1. namespace Tips_Linq
  2. {
  3.     using System;
  4.     using System.Linq;
  5.  
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             var numbers = new int[] { 2, 3, 4, 5 };
  11.             Console.WriteLine("コレクションの要素は {{ {0} }} です。", string.Join(", ", numbers));
  12.  
  13.             var value = 4;
  14.             var isAllOk = numbers.All(x => x < value);
  15.             Console.WriteLine("すべての要素は " + value.ToString() + " より" + (isAllOk ? "小さいです。" : "小さくありません。"));
  16.  
  17.             var isAnyOk = numbers.Any(x => x < value);
  18.             Console.WriteLine(value.ToString() + " より小さい要素が" + (isAnyOk ? "あります。" : "ありません。"));
  19.  
  20.             Console.ReadKey();
  21.         }
  22.     }
  23. }


All 拡張メソッドと違い、Any 拡張メソッドはひとつでも条件を満たす要素があれば true を返します。