我有一份列有日期的清单,我想根据这些日期进行排序:
做这个最好的方法是什么?
为了使这个更加清晰,排序列表应该是的样子:
今天=>后天=>后天=>未来的日子.=>昨天=>比昨天大

发布于 2018-04-22 14:02:06
var dates = new List<DateTime>()
{
DateTime.Today,
DateTime.Today.AddDays(1),
DateTime.Today.AddDays(-2),
DateTime.Today.AddDays(5),
DateTime.Today.AddDays(-5)
};今天的日期应该排在最前面。
DateTime today = dates.Where(x => x == DateTime.Today).First();将来的日期应该按最近的日期进行排序(例如,今天=8,我们的日期是18,9,11应该是=> 9,11,18)
List<DateTime> futureDates = dates.Where(x => x > today).ToList();
futureDates.Sort();比今天的日期更早的日期应该列在降序列表的底部。
List<DateTime> oldDates = dates.Where(x => x < today).OrderByDescending(x => x).ToList();这是最后的汇总结果:
var final = new List<DateTime>();
final.Add(today);
final.AddRange(futureDates);
final.AddRange(oldDates);https://stackoverflow.com/questions/49966478
复制相似问题