11

がありますList<T>.FindIndex(Int32, Predicate <T>)。そのメソッドは、まさに私がIList<T>オブジェクトに対して望んでいるものです。メソッドがあることは
知っていますが、比較アルゴリズムを定義するための述語が必要です。 IListIndexOf(T)

内のアイテムのインデックスを見つけるためのメソッド、拡張メソッド、LINQ、またはコードはありIList<T>ますか?

4

1 に答える 1

20

さて、あなたは本当に簡単にあなた自身の拡張メソッドを書くことができます:

public static int FindIndex<T>(this IList<T> source, int startIndex,
                               Predicate<T> match)
{
    // TODO: Validation
    for (int i = startIndex; i < source.Count; i++)
    {
        if (match(source[i]))
        {
            return i;
        }
    }
    return -1;
}
于 2012-12-07T16:54:27.477 に答える