C# linq 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)

我很想知道someCollection.Any()在内部是如何工作的。
如何查看此代码?

所有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