コレクションから条件に一致した要素のインデックスを取得するサンプルです。
以下、2種類のメソッドがあります。
- .FindIndex:一番初めに条件一致した要素のインデックスを取得する
- .FindLastIndex:一番最後に条件一致した要素のインデックスを取得する
.FindIndex サンプル
例1)Listから10で割り切れる値で、一番初めに一致した値のインデックスを取得する
using System.Collections.Generic;
// intのList
var list = new List<int> {5, 10, 15, 20, 25, 30, 35 };
// 10で割り切れる値の一番最初のインデックスを取得する
int result = list.FindIndex(x => x % 10 == 0);
結果
1
10、20、30 が合致しますが、一番最初の10のインデックス番号(=1)のみ取得されます。
.FindLastIndex サンプル
例2)Listから10で割り切れる値で、一番最後に一致した値のインデックスを取得する
using System.Collections.Generic;
// intのList
var list = new List<int> {5, 10, 15, 20, 25, 30, 35 };
// 10で割り切れる値の一番最後のインデックスを取得する
int result = list.FindLastIndex(x => x % 10 == 0);
結果
5
10、20、30 が合致しますが、一番最後の30のインデックス番号(=5)のみ取得されます。
備考
- .FindIndex、.FindLastIndex はLINQではありません。