4
我想顯示日期的項目降序列表,但我似乎無法得到orderby子句做雙重排序。對於一個普通的美國人來說,你想按照年份先排序,然後再按月排列幾天。請參閱下面的代碼。OrderBy Linq與美國日期
2012年10月21日= 2012年10月21日
2012年12月3日= 12/03/2012
Januaray 15日,2013 = 2013年1月15日
無論我如何分類,我總是得到我在下面看到的內容,我嘗試過更改字符串格式化程序,但這似乎並不正確。我爲該子句添加了一些轉換/解析方法,但這並沒有幫助。我正在尋找高性能解決方案,因爲這是一款使用非常長名單的移動應用程序。什麼是最快的方法來做到這一點?創建一個自定義比較器?有沒有辦法做第二個orderby子句?
我最終看到的是,2012年之後爲什麼不是2013年?
2013年1月15日
2013年10月21日
12/03/2012
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);
爲什麼日期首先存儲爲字符串? –
2nd order by:'ThenBy'是方法。在查詢語法中,輸入一個逗號,然後輸入下一個字段進行排序。 '... orderby a,b'。 –
在ParseExact的格式說明符中,您有破折號( - ),而您的示例數據中有斜槓(/)。問題可能是ParseExact失敗,因爲格式不匹配? – craftworkgames