如何实现Linq OrderBy方法?

Lar*_*rry 9 c# linq

我想了解更多有关linq的信息,例如,如果我想实现一个Select,我会像这样实现

public static IEnumerable<TResult> Select<TSource, TResult>(IEnumerable<TSource> source, Func<TSource, TResult> selector)
{
    foreach (var item in source)
    {
        yield return selector(item);
    }
}
Run Code Online (Sandbox Code Playgroud)

这样的地方

public static IEnumerable<TSource> Where<TSource>(IEnumerable<TSource> source, Func<TSource, bool> predicate)
{
    foreach (var item in source)
    {
        if (predicate(item))
            yield return item;
    }
}
Run Code Online (Sandbox Code Playgroud)

OrderBy怎么样?

Ran*_*der 16

看看这个.我想你会发现它非常有用.基本上,Jon Skeet重新实施Linq中的所有内容作为学习练习.非常翔实.

第二部分讨论实施Where......等等,直到描述的部分OrderBy.