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

标签 c# sorting date

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/

相关文章:

c# - 尝试在登录表单中实现哈希和加盐密码

c - 插入排序函数不会列出排序后的所有元素

java - 在 Java 中使用 stream.sorted() 对列表进行排序

java - 为什么我的日期差异函数会随机输出不正确的值?

c# - WPF 应用程序 : Uncatchable Exception?

c# - EditorFor继承模型MVC

c# - 从两个数据表中查找公共(public)列并将其用于 LINQ 中的连接条件

python - 优化python算法

date - 使用序数日期字段解析日期

java - 如果年份输入错误,日期验证将不起作用