问题1:在DateTime对象的集合中,如何确定哪个是最早/最新的?

问题2:在对象集合中,如何确定哪个对象具有最早/最新的DateTime属性?

例如:

class VideoGame
{
    DateTime ReleaseDate { get; set; }
}

哪个VideoGame将首先发布/最后发布?
var allGames = new List<VideoGame>();
allGames.Add( new VideoGame() { ReleaseDate = new DateTime(2010, 10, 4)} );
allGames.Add( new VideoGame() { ReleaseDate = new DateTime(2012, 7, 14)} );
allGames.Add( new VideoGame() { ReleaseDate = new DateTime(2014, 5, 26)} );

最佳答案

使用LINQ的OrderBy和OrderByDescending函数:

VideoGame first= allGames.OrderBy(x => x.ReleaseDate).FirstOrDefault();
VideoGame last = allGames.OrderByDescending(x => x.ReleaseDate).FirstOrDefault();
  • 如果allGames的物品为零,则first和last将为null。
  • 如果allGames具有1个项目,则两个项目都将引用同一项目
  • 09-07 18:35