【发布时间】:2013-05-02 07:21:19
【问题描述】:
我在字典中有一些记录,我需要根据创建日期 (CDate) 和修改日期 (MDate) 对数据进行排序。创建记录时,我的 CDate 将具有当前日期时间,但 MDate 将是 1/1/0001 12:00:00 AM。
这是用于排序的示例数据和代码。
CDate MDate
2013 年 4 月 30 日下午 4:43:41 2013 年 4 月 30 日下午 4:46:47
2013 年 4 月 30 日下午 4:43:28 2013 年 4 月 30 日下午 4:46:36
2013 年 4 月 30 日下午 4:43:54 2013 年 4 月 30 日下午 4:46:16
2013 年 4 月 30 日下午 5:03:13 0001 年 1 月 1 日上午 12:00:00
代码:
FileSchedulerEntities = FileSchedulerEntities
.OrderByDescending(pair => pair.Value.MDate)
.ThenByDescending(pair => pair.Value.CDate)
.ToDictionary(pair => pair.Key, pair => pair.Value);
按照排序,我需要像这样按降序对数据进行排序。
CDate MDate
2013 年 4 月 30 日下午 5:03:13 0001 年 1 月 1 日上午 12:00:00
2013 年 4 月 30 日下午 4:43:41 2013 年 4 月 30 日下午 4:46:47
2013 年 4 月 30 日下午 4:43:28 2013 年 4 月 30 日下午 4:46:36
2013 年 4 月 30 日下午 4:43:54 2013 年 4 月 30 日下午 4:46:16
但上述代码不起作用。有什么想法吗?
【问题讨论】:
-
我认为您无法对字典进行排序。你为什么不玩玩
List<KeyValuePair<string, string>> -
@naveen - 如果字典不可排序,那么 OrderByDescending() 和 ThenByDescending() 有什么优势?
-
@MidhunlalG:请参阅我的回答的长评论。它回答了这个问题。
标签: c# linq dictionary