我有一个List,我需要按DateTime排序,类MyStuff看起来像:
public class MyStuff
{
public int Type {get;set;}
public int Key {get;set;}
public DateTime Created {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我需要能够通过Created(DateTime)字段对集合List进行排序.
Nol*_*rin 86
您似乎正在使用List<T>
对象,在这种情况下,最有效(和简单)的方法如下:
myList.Sort((x, y) => DateTime.Compare(x.Created, y.Created));
Run Code Online (Sandbox Code Playgroud)
这使用List.Sort方法的重载而不是Comparison<T>
委托(因此使用lambda表达式).
你当然可以使用LINQ OrderBy
扩展方法,但我不认为这会带来任何好处,并且可能会明显变慢,具体取决于你的情况.
myList = myList.OrderBy(x => x.Created).ToList();
Run Code Online (Sandbox Code Playgroud)
var query =
from m in mystuffcollection
orderby m.Created ascending
select m;
Run Code Online (Sandbox Code Playgroud)