在 c#(3.0 或 3.5,所以我们可以使用 lambdas)中,是否有一种优雅的方式可以按降序对日期列表进行排序?我知道我可以做一个直接的排序,然后把整个事情颠倒过来,
docs.Sort((x, y) => x.StoredDate.CompareTo(y.StoredDate));
docs.Reverse();
但是是否有一个 lambda 表达式可以一步完成?
在上面的示例中,StoredDate 是一个类型为 DateTime 的属性。
虽然未经测试...
docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));
应该与您最初拥有的相反。
有什么问题:
docs.OrderByDescending(d => d.StoredDate);
docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));
应该做你正在寻找的东西。
docs.Sort((x, y) => -x.StoredDate.CompareTo(y.StoredDate));
注意减号。