C# linq Any()如何在内部工作
我很想知道someCollection.Any()在内部是如何工作的。C# linq Any()如何在内部工作,c#,linq,C#,Linq,我很想知道someCollection.Any()在内部是如何工作的。 如何查看此代码?所有LINQ方法实际上都是IEnumerable的扩展方法 以下是Reflector将AnyLINQ方法反编译为: public static bool Any<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
如何查看此代码?所有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;
}
公共静态bool Any(此IEnumerable源代码,
Func谓词)
{
if(source==null)
{
抛出错误。ArgumentNull(“源”);
}
if(谓词==null)
{
抛出错误。ArgumentNull(“谓词”);
}
foreach(源中的TSource本地)
{
if(谓词(局部))
{
返回true;
}
}
返回false;
}
您随时可以获得.net的完整源代码:如果它做了其他任何事情,我会感到困惑。@anthony arnold看一看Math.Abs(),然后您将:D