在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));
注意减号.