我有一个名为的类Order,它具有OrderId、OrderDate、Quantity和等属性Total。我有这个Order类的列表:
Order
OrderId
OrderDate
Quantity
Total
List<Order> objListOrder = new List<Order>(); GetOrderList(objListOrder); // fill list of orders
现在我想根据Order对象的一个属性对列表进行排序,例如我需要按订单日期或订单 ID 对其进行排序。
我如何在 C# 中做到这一点?
如果您需要就地对列表进行排序,则可以使用该Sort方法,传递一个Comparison委托:
Sort
Comparison
objListOrder.Sort((x, y) => x.OrderDate.CompareTo(y.OrderDate));
如果您更喜欢创建一个新的排序序列而不是就地排序,那么您可以使用 LINQ 的OrderBy方法,如其他答案中所述。
OrderBy
我能想到的最简单的方法是使用 Linq:
List<Order> SortedList = objListOrder.OrderBy(o=>o.OrderDate).ToList();