如何排序列表<>具有用户定义对象的属性?

时间:2013-03-20 07:48:18

标签: c#

我有一个List<OrderTime>的OrderTime,如下所示

public class OrderTime
    {
        public string OrderId { get; set; }
        public DateTime StarTime { get; set; }
        public DateTime EndTime { get; set; }
    }

我想按DateTime StarTime的升序排序此列表。我可以用冒泡排序来做,但想知道是否有任何c#内置方法

2 个答案:

答案 0 :(得分:7)

您可以使用LINQ

List<OrderTime> _orders = new List<OrderTime>();
// _orders.Add(...);
var _result = _orders.OrderBy(x  => x.StarTime);

答案 1 :(得分:1)

你想要使用

lst.Sort((x, y) => x.StarTime.CompareTo(y.StarTime));

请记住,使用lst.OrderBy()。ToList()将创建List&lt;&gt;的新实例,可能会损害性能。

Doc:http://msdn.microsoft.com/en-us/library/w56d4y5z.aspx