一个列表,需要按DateTime排序,MyStuff类看起来像:
public class MyStuff
{
public int Type {get;set;}
public int Key {get;set;}
public DateTime Created {get;set;}
}
我需要能够通过创建(DateTime)字段对集合列表进行排序。
您似乎正在使用List< T>对象,在这种情况下,最有效(和一个简单的)方法将是以下:
myList.Sort((x, y) => DateTime.Compare(x.Created, y.Created));
这使用List.Sort方法的过载,而不是采用比较< T>委托(因此lambda表达式)。
您当然可以使用LINQ OrderBy扩展方法,但我不认为这提供了任何优势,并且可能会显着更慢,具体取决于您的情况。
myList = myList.OrderBy(x => x.Created).ToList();
翻译自:https://stackoverflow.com/questions/1618863/how-to-sort-a-collection-by-datetime-in-c-sharp