我写了这个:
但是我不知道它是否已经存在,它存在吗?
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();
}
}
但是我不知道它是否已经存在,它存在吗?
Max
方法的问题在于:a:它会继续查找,b:当存在重复项时返回最后一个索引(人们通常希望是第一个索引)。请注意不改变原意并使翻译通俗易懂。 - Marc GravellToList()/FindIndex()
技巧表现最佳。 - nixda