2010-01-06 287 views
1

我有一個列表,並希望按日期排序,然後先訂購最近的日期。按日期排序列表,然後按最新順序排列

按日期排序下面的代碼:

allFeeds.Sort(delegate(SimplifiedFeedItem p1, SimplifiedFeedItem p2) 
        { return p1.PublishDate.CompareTo(p2.PublishDate); }); 

        allFeeds.ForEach(delegate(SimplifiedFeedItem p) 
        { // display list}); 

我怎麼那麼它的最新日期順序第一(它的排序由最早的日期目前第一)? 感謝

回答

3

只是改變從DateTime.CompareTo返回符號:

allFeeds.Sort(delegate(SimplifiedFeedItem p1, SimplifiedFeedItem p2) 
       { return -p1.PublishDate.CompareTo(p2.PublishDate); }); 

您可以使用lambda表達式這個吸塵器:

allFeeds.Sort((p1, p2) => -p1.PublishDate.CompareTo(p2.PublishDate)); 
+0

IM喜歡它。謝謝! – test 2010-01-06 18:28:38

+0

不客氣。 – jason 2010-01-06 18:31:17

+0

@Jason p1和p1是什麼,你可以用p1和p2定義完整的代碼嗎? – 2014-07-14 07:38:23

相關問題