コレクション

[C#] コレクションの要素を検索する(.Find、.FindLast、.FindAll)

2022年4月17日

コレクションの要素を検索するサンプルです。

用途に応じて.Find、.FindLast、.FindAll の3種類のメソッドがあります。

  • .Find:一番初めに条件一致した要素を取得する
  • .FindLast:一番最後に条件一致した要素を取得する
  • .FindAll:条件に一致した要素を全て取得する

.Find サンプル

例1)Listから3で割り切れる値で、一番初めに一致した値を取得する


using System.Collections.Generic;

// intのList
var list = new List<int> {1, 2, 3, 4, 5, 6, 7, 8, 9 };

// 3で割り切れる値の一番最初の要素を検索する
int result = list.Find(x => x % 3 == 0);

結果

3

3、6、9 が合致しますが、一番最初の3のみ取得されます。

.FindLast サンプル

例2)Listから3で割り切れる値で、一番最後に一致した値を取得する


using System.Collections.Generic;

// intのList
var list = new List<int> {1, 2, 3, 4, 5, 6, 7, 8, 9 };

// 3で割り切れる値の一番最後の要素を検索する
int result = list.FindLast(x => x % 3 == 0);

結果

9

3、6、9 が合致しますが、一番最後の9のみ取得されます。

.FindAll サンプル

例3)Listから3で割り切れる値を全て取得する


using System.Collections.Generic;

// intのList
var list = new List<int> {1, 2, 3, 4, 5, 6, 7, 8, 9 };

// 3で割り切れる値を全て検索する
List<int> result = list.FindAll(x => x % 3 == 0);

結果

3, 6, 9

備考

  • .Find、.FindLast、.FindAll はLINQではありません。

関連記事

-コレクション
-