gpt4 book ai didi

c# - 使用日期(2015 年 9 月 11 日 --> 日期格式)按降序对 C# 列表进行排序?

转载 作者:太空宇宙 更新时间:2023-11-03 23:12:47 25 4
gpt4 key购买 nike

indexlist = saveList
.Where(i => (Convert.ToDateTime(i.event_startdate) < DateTime.Today)
&& (Convert.ToDateTime(i.event_endDate) < DateTime.Today))
.ToList();
Event_list.ItemsSource = indexlist.OrderBy(i => i.event_startdate);

我编写了类似上面的代码来对包含这种格式(2015 年 9 月 11 日)的日期的列表进行排序,我想以这种方式对其进行排序,它应该在列表顶部显示最近的日期日期。如何修改上面的语句

我试过使用 OrderByDescending(i=>i.event_startdate); 但没有用。

最佳答案

您正在按转换后的 DateTime 过滤项目,但您按 string/object 对其进行排序,这是不正确的。您可以将 DateTime 存储在匿名类型中:

indexlist = saveList
.Select(i => new {
event = i,
event_startdate = Convert.ToDateTime(i.event_startdate),
event_endDate = Convert.ToDateTime(i.event_endDate),
})
.Where(x => x.event_startdate < DateTime.Today && x.event_endDate < DateTime.Today)
.OrderByDescending(x => x.event_startdate)
.Select(x => x.event)
.ToList();
Event_list.ItemsSource = indexlist;

关于c# - 使用日期(2015 年 9 月 11 日 --> 日期格式)按降序对 C# 列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38456700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com