我想显示带有日期的项目的降序列表,但我似乎无法让 orderby 子句进行双重排序。对于一个普通的美国人,你想先按年排序,然后按月排序,然后按天排序。请参阅下面的代码。
2012 年 10 月 21 日 = 2012 年 10 月 21 日
2012 年 12 月 3 日 = 12/03/2012
2013 年 1 月 15 日 = 01/15/2013
无论我如何排序,我总是得到我在下面看到的内容,我尝试更改字符串格式化程序,但这似乎不起作用。我在子句中添加了一些转换/解析方法,但这没有帮助。我正在寻找一个高性能的解决方案,因为这是一个处理很长列表的移动应用程序。最快的方法是什么?创建自定义比较器?有没有办法做第二个 orderby 子句?
我总是最终看到的,为什么 2012 年之后不是 2013 年?
2013 年 1 月 15 日
2013 年 10 月 21 日
2012 年 12 月 3 日
IEnumerable<Group<FeedItem>> sortedItems =
from feedItem in _localLists.CustomList
group feedItem by feedItem.EventDate
into c
orderby
(DateTime.ParseExact(c.Key, "MM-dd-yyyy",
CultureInfo.InvariantCulture)) ascending
select new Group<FeedItem>(c.Key, c);