订购具有多个日期字段的项目集合

时间:2012-08-06 17:00:50

标签: c# asp.net linq

我有一系列项目,其中每个项目都包含以下字段:TitleDateCreatedDateUpdated

我想订购这些商品,以便首先显示最新商品,其中最新商品是刚刚创建或更新的商品。

因此,如果我在三秒前创建了Item2,它将显示在顶部。但是,如果我继续更新Item1,它现在将显示在顶部,因为Item1的DateUpdated比Item2的DateCreated

更新

有没有办法根据两个日期以这种方式订购集合?

3 个答案:

答案 0 :(得分:6)

var newList = 
      list.OrderByDescending(s=>Math.Max(s.DateCreated.Ticks,s.DateUpdated.Ticks));

答案 1 :(得分:3)

创建项目时,只需将DateCreatedDateUpdated设置为创建日期。然后您可以按DateUpdated订购。

答案 2 :(得分:-1)

如果我没有错,那么您正在使用自定义数据进行收藏。所以你必须使用IComparable接口才能实现它。这是参考“http://msdn.microsoft.com/en-us/library/system.icomparable.aspx”