按日期排序列表,然后按最新排序

时间:2010-01-06 18:22:35

标签: c# sorting list

我有一个列表,并希望按日期排序,然后按最新日期排序。

以下代码按日期排序:

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

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

我如何先按最新日期订购(按当前最早的日期排序)? 感谢

1 个答案:

答案 0 :(得分: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));