[C#]配列の要素をラムダ式で検索するには?

C#

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

配列(array)の要素をラムダ式で検索する方法を紹介します。

スポンサーリンク

方法

配列(array)の要素をラムダ式で検索する方法は、2つあります。

Array.Find()

ひとつは、Array.Find()を使う方法です。

まず、Array.Find()を呼び出します。

Array.Find()の第1引数に配列、第2引数に条件式を返すラムダ式を指定します。

ラムダ式では、引数で配列の要素を取得します。

//arr=対象の配列, condition=条件式
int result = Array.Find(arr, item => condition);

上記のArray.Find()は、配列の要素をラムダ式で返す条件式で検索します。

使用例

using System;
 
public class Example
{
	public static void Main()
	{
		int[] nums = new int[5]{ 1, 2, 3, 4, 5 };
		
		int result = Array.Find(nums, item => item % 2 == 0);
		
		Console.WriteLine(result);
	}
}
出力:
2

Array.FindAll()

もうひとつは、Array.FindAll()を使う方法です。

まず、Array.FindAll()を呼び出します。

Array.FindAll()の第1引数に配列、第2引数に条件式を返すラムダ式を指定します。

ラムダ式では、引数で配列の要素を取得します。

//arr=対象の配列, condition=条件式
int result = Array.FindAll(arr, item => condition);

上記のArray.FindAll()は、配列の要素をラムダ式で返す条件式で検索します。

使用例

using System;
 
public class Example
{
	public static void Main()
	{
		int[] nums = new int[5]{ 1, 2, 3, 4, 5 };
		
		int[] result = Array.FindAll(nums, item => item % 2 == 0);
		
		foreach (int item in result)
		{
		    Console.WriteLine(item);
		}
	}
}
出力:
2
4

まとめ

配列(array)の要素をラムダ式で検索する方法は、次の2つです。

  • Array.Find()を使う方法
    int result = Array.Find(arr, item => condition);
  • FindAll()を使う方法
    int result = Array.FindAll(arr, item => condition);

コメント

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