我很想知道 someCollection.Any() 在内部是如何工作的。我怎样才能看到这段代码?
问问题
2697 次
1 回答
10
所有的 LINQ 方法实际上都是IEnumerable
.
以下是 Reflector 将Any
LINQ 方法反编译为:
public static bool Any<TSource>(this IEnumerable<TSource> source,
Func<TSource, bool> predicate)
{
if (source == null)
{
throw Error.ArgumentNull("source");
}
if (predicate == null)
{
throw Error.ArgumentNull("predicate");
}
foreach (TSource local in source)
{
if (predicate(local))
{
return true;
}
}
return false;
}
于 2013-08-23T02:49:35.077 回答