在C#中对DataTable进行分组,并使用Linq在新列中添加重复的行

时间:2016-09-21 11:10:33

标签: linq c#-4.0 datatable

我有一个数据表:

ID      Date
-------------
1    02/01/2016
1    03/04/2015
2    08/10/2016
2    01/05/2014
2    09/03/2015

我想使用LINQ将结果分组为:

ID      2016       2015        2014
-------------------------------------
1     02/01/2016  03/04/2015  
2     08/10/2016  09/03/2015  01/05/2014

1 个答案:

答案 0 :(得分:0)

我不确定你的消息来源,但这样的事情会起作用。

public class SomeClass 
{
    public int ID {get; set;}
    public List<DateTime> Dates {get; set;}
}

var group = source.GroupBy(x => x.ID).Select(x =>
        new SomeClass
        {
            ID = x.Key,
            Dates = x.SelectMany(z => z.Dates).ToList()

        });

您可以按源中的ID进行分组,然后将该ID中的日期添加到新对象中。