当前位置:  开发笔记 > 编程语言 > 正文

排序列表<DateTime>降序

如何解决《排序列表<DateTime>降序》经验,为你挑选了4个好方法。

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

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

但是有一个lambda表达式可以一步到位吗?

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



1> Austin Salon..:

虽然没有经过测试......

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

应该与你原来的相反.



2> Scott Baker..:

有什么不对:

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


除了Cavyn所说的,这将始终返回IOrderedEnumerable 的列表,需要使用.ToList ()将其转换回通用列表.
请注意,这会创建一个新的有序列表,而不是在适当的位置修改列表.当然,性能损失可以忽略不计.

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

应该做你想要的.



4> Tamas Czineg..:
docs.Sort((x, y) => -x.StoredDate.CompareTo(y.StoredDate));

注意减号.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有