排序列表<datetime>降序</datetime>

时间:2008-10-28 18:02:09

标签: c# sorting lambda

在c#(3.0或3.5中,所以我们可以使用lambdas),是否有一种按降序排列日期列表的优雅方法?我知道我可以做一个直接排序然后反转整个事情,

docs.Sort((x, y) => x.StoredDate.CompareTo(y.StoredDate));
docs.Reverse();

但是有一个lambda表达式可以一步完成吗?

在上面的示例中,StoredDate是一个类型为DateTime的属性。

4 个答案:

答案 0 :(得分:75)

虽然没有经过考验......

docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));

应该与你原来的相反。

答案 1 :(得分:61)

出了什么问题:

docs.OrderByDescending(d => d.StoredDate);

答案 2 :(得分:20)

docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));

应该做你想要的。

答案 3 :(得分:6)

docs.Sort((x, y) => -x.StoredDate.CompareTo(y.StoredDate));

请注意减号。