コレクションの要素を検索するサンプルです。
用途に応じて.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ではありません。