[C#]リスト(List)で条件を満たす要素の存在チェックをするには?

C#

どうも、ちょげ(@chogetarou)です。

リスト(List)で条件を満たす要素の有無を確認する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リスト(List)で特定の要素の存在チェックをする方法は、2つあります。

Exists()メソッド

1つは、Exists()メソッドを使う方法です。

まず、リスト(list)からExists()メソッドを呼び出します。

そして、Exists()メソッドの引数に、引数を比較対象にする条件式を返すラムダ式を指定します。

bool result = list.Exists(x => 条件式);

上記のExists()メソッドは、条件式を満たす要素がリスト(List)内にあれば「True」、無ければ「False」を返します。

Exists()メソッドのラムダ式は、引数でリストの要素を取得します。

使用例

using System;
using System.Collections.Generic;

public class Example
{
	public static void Main()
	{
		List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
		
		bool result1 = numbers.Exists(item => item % 2 == 0);
		bool result2 = numbers.Exists(item => item > 10);
		
		Console.WriteLine(result1); //True
		Console.WriteLine(result2); //False
 	}
}

System.LinqのAny()

もう1つは、System.LinqのAny()を使う方法です。

まず、System.Linqを導入します。

using System.Linq;

そして、リスト(list)からAny()メソッドを呼び出します。

Any()メソッドの引数で、引数を比較対象にする条件式を返すラムダ式を指定します。

bool result = list.Any(x => 条件式);

上記のAny()メソッドは、ラムダ式で返す条件式を満たす要素があれば「True」、無ければ「False」を返します。

Any()のラムダ式は、引数でリストの要素を取得します。

使用例

using System;
using System.Collections.Generic;
using System.Linq;
public class Example
{
	public static void Main()
	{
		List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
		
		bool result1 = numbers.Any(item => item % 2 == 0);
		bool result2 = numbers.Any(item => item < 0);
		
		Console.WriteLine(result1); //True
		Console.WriteLine(result2); //False
 	}
}
スポンサーリンク

まとめ

リスト(List)で条件を満たす要素の存在チェックをする方法は、次の2つです。

  • Exists()メソッドを使う方法
  • System.LinqのAny()を使う方法

コメント

タイトルとURLをコピーしました