C# 具有多个日期字段的项目的订单集合

C# 具有多个日期字段的项目的订单集合,c#,asp.net,linq,C#,Asp.net,Linq,我有一个项目集合,其中每个项目都有以下字段:Title、DateCreated和DateUpdated 我想对这些项目进行排序,以便首先显示最近的项目,其中最近的项目是刚刚创建或更新的项目 所以,如果我在三秒钟前创建了Item2,它将显示在顶部。但如果我接着去更新Item1,它现在会显示在顶部,因为Item1的DateUpdated比Item2的DateCreated更新 有没有一种方法可以基于两个日期以这种方式订购集合?创建项目时,只需将DateCreated和DateUpdated都设置为创

我有一个项目集合,其中每个项目都有以下字段:
Title
DateCreated
DateUpdated

我想对这些项目进行排序,以便首先显示最近的项目,其中最近的项目是刚刚创建或更新的项目

所以,如果我在三秒钟前创建了Item2,它将显示在顶部。但如果我接着去更新Item1,它现在会显示在顶部,因为Item1的
DateUpdated
比Item2的
DateCreated
更新


有没有一种方法可以基于两个日期以这种方式订购集合?

创建项目时,只需将
DateCreated
DateUpdated
都设置为创建日期。然后,您只需按
日期更新

订购即可。如果我没有弄错,那么您将使用自定义数据进行收集。因此,您必须使用IComparable接口才能实现它。这是参考资料“http://msdn.microsoft.com/en-us/library/system.icomparable.aspx “

无需实施
i可比较
DateTime
类在内部实现了IComparable接口!他将按日期时间排序!这很理想,但不幸的是,我使用的是一个已有数千条记录的旧应用程序,我无法控制更改代码以在创建时设置
DateCreated
DateUpdated
。但答案很好:)
var newList = 
      list.OrderByDescending(s=>Math.Max(s.DateCreated.Ticks,s.DateUpdated.Ticks));