如何按对象中的属性对 List<T> 进行排序

28 浏览
0 Comments

如何按对象中的属性对 List<T> 进行排序

我有一个名为Order的类,它具有属性,如OrderIdOrderDateQuantityTotal。我有一个这个Order类的列表:

    List objListOrder = new List();
    GetOrderList(objListOrder); // fill list of orders

我想根据Order对象的一个属性对列表进行排序,例如根据订单日期或订单ID排序。

我该如何在C#中实现这个功能?

admin 更改状态以发布 2023年5月21日
0
0 Comments

如果您需要在原地对列表进行排序,则可以使用 Sort 方法,传递一个 Comparison 委托:

objListOrder.Sort((x, y) => x.OrderDate.CompareTo(y.OrderDate));

如果您更喜欢创建一个新的排序序列而不是在原地排序,则可以使用 LINQ 的 OrderBy 方法,就像其他答案中提到的那样。

0
0 Comments

我能想到的最简单的方法是使用 Linq:

List SortedList = objListOrder.OrderBy(o=>o.OrderDate).ToList();

0