如何从日期列表中选择每日最新时间列表

jch*_*tel 2 c# linq

这个问题可能听起来非常令人困惑,但很难描述我想做什么.基本上,我有一个DateTime对象列表,我想创建一个新列表,其中包含列表中的对象,这些对象代表列表中表示的每个日期的最新时间.例如,假设我有一个包含这些DateTimes 的列表:

  • 12/13/2012 2:00:00 AM
  • 12/13/2012 4:00:00 AM
  • 12/13/2012 8:00:00 PM
  • 12/14/2012 5:00:00 PM
  • 12/14/2012 3:00:00 AM
  • 12/15/2012 10:00:00 AM

我希望我的结果列表包含以下内容:

  • 12/13/2012 8:00:00 PM
  • 12/14/2012 5:00:00 PM
  • 12/15/2012 10:00:00 AM

我知道我可以使用LINQ来做到这一点.我只是很难把想法包围在发生的事情中.我想我必须从IEnumerable<IEnumerable<DateTime>>内部IEnumerable是一个列表中DateTime选择所有具有相同日期的s,然后我想通过降序排序并选择第一个.

我很失落......

eul*_*rfx 9

试试这个:

var dates = list.GroupBy(dt => dt.Date).Select(g => g.Max());
Run Code Online (Sandbox Code Playgroud)