在c#(3.0或3.5中,所以我们可以使用lambdas),是否有一种按降序排列日期列表的优雅方法?我知道我可以做一个直接排序然后反转整个事情,
docs.Sort((x, y) => x.StoredDate.CompareTo(y.StoredDate));
docs.Reverse();
但是有一个lambda表达式可以一步完成吗?
在上面的示例中,StoredDate是一个类型为DateTime的属性。
答案 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));
请注意减号。