私はこれを書いた:
public static class EnumerableExtensions
{
public static int IndexOf<T>(this IEnumerable<T> obj, T value)
{
return obj
.Select((a, i) => (a.Equals(value)) ? i : -1)
.Max();
}
public static int IndexOf<T>(this IEnumerable<T> obj, T value
, IEqualityComparer<T> comparer)
{
return obj
.Select((a, i) => (comparer.Equals(a, value)) ? i : -1)
.Max();
}
}
しかし、それがすでに存在するかどうかはわかりません。
ToList()/FindIndex()
トリックを実行するには最高
Max
アプローチの問題は、a:探し続け、b:重複がある場合は最後のインデックスを返す(人々は通常、最初のインデックスを期待する)