使用 LINQ 对类列表进行排序

2024-05-17

我有一个List<MyClass>我想按以下方式排序DateTime CreateDateMyClass 的属性。

LINQ 可以做到这一点吗?

Thanks


要排序existing list:

list.Sort((x,y) => x.CreateDate.CompareTo(y.CreateDate));

也可以写一个Sort扩展方法,允许:

list.Sort(x => x.CreateDate);

例如:

public static class ListExt {
    public static void Sort<TSource, TValue>(
            this List<TSource> list,
            Func<TSource, TValue> selector) {
        if (list == null) throw new ArgumentNullException("list");
        if (selector == null) throw new ArgumentNullException("selector");
        var comparer = Comparer<TValue>.Default;
        list.Sort((x,y) => comparer.Compare(selector(x), selector(y)));
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 LINQ 对类列表进行排序 的相关文章

随机推荐