如何编写以下组并剥离时间Linq查询?

Vis*_*hal 2 c# datetime linq-to-entities group-by

我有这样的清单 -

Id    Date
1     01/03/2011 14:15:23.320
1     01/03/2011 16:15:23.320
1     01/03/2011 18:15:23.320
1     01/04/2011 19:15:23.320
2     01/03/2011 14:15:23.320
2     01/03/2011 15:15:23.320
2     01/03/2011 18:15:23.320
2     01/05/2011 19:15:23.320
2     01/07/2011 20:15:23.320 
Run Code Online (Sandbox Code Playgroud)

我想要的输出是 -

Id    Date
1     01/03/2011
1     01/04/2011 
2     01/03/2011 
2     01/05/2011 
2     01/07/2011
Run Code Online (Sandbox Code Playgroud)

那么我怎样才能在id的第一个列表上进行分组,只采用日期部分并在Linq中实现上述结果?

Kla*_*sen 6

尝试这样的事情:

var result = yourList.GroupBy(item => 
    new {Id = item.Id, Date = item.Date.Date});
Run Code Online (Sandbox Code Playgroud)

基本上,DateTime.Date剥离时间信息.

要遍历结果,您可以执行以下操作:

foreach(var grp in result)
{
    Console.WriteLine("{0}: {1}", grp.Key.Id, grp.Key.Date);
}
Run Code Online (Sandbox Code Playgroud)