Tôi cố gắng để hiểu thêm về LINQ, ví dụ, nếu tôi muốn thực hiện một Select tôi sẽ thực hiện như thế nàyCách triển khai phương thức Linq OrderBy?
public static IEnumerable<TResult> Select<TSource, TResult>(IEnumerable<TSource> source, Func<TSource, TResult> selector)
{
foreach (var item in source)
{
yield return selector(item);
}
}
nơi như thế này
public static IEnumerable<TSource> Where<TSource>(IEnumerable<TSource> source, Func<TSource, bool> predicate)
{
foreach (var item in source)
{
if (predicate(item))
yield return item;
}
}
Làm thế nào về OrderBy?
Đây không phải là một việc thực hiện hợp lệ của 'OrderBy'. Bạn không thể gọi 'ThenBy' về điều này. – Servy
@Servy - Tôi đã nói rằng tôi đã theo mẫu triển khai của OP chứ không phải mẫu chuẩn. Tôi đã nói "đây là cách để thực hiện' OrderBy' "thì tôi sẽ đồng ý với bình luận của bạn. – Enigmativity
Tôi không thấy gì trong OP chỉ ra rằng nó không thực hiện 'OrderBy' đúng cách. Điều gì về nó chỉ ra rằng bạn không nên cung cấp một thực hiện đó là ít nhất một chức năng tương đương của phiên bản BCL? – Servy