DataTable.Select()区别然后添加值

时间:2012-06-02 20:46:05

标签: c#

我只需要从columnA中选择Distinct值然后添加已连接到columnB的值

样品:

columnA    |    columnB
A                3
B                4
A                3
A                2 
B                1
C                3

结果:

columnA        |    columnB
A                    8
B                    5
C                    3

我找到了this,但它只有列名作为参数。

是否存在使用DataTable.Select()

的任何其他方式或示例

提前致谢

1 个答案:

答案 0 :(得分:7)

您可以使用LINQ-to-DataSetEnumerable.GroupBy

var colAGroups = tbl.AsEnumerable()
                .GroupBy(row => row.Field<String>("ColumnA"))
                .Select(grp => new
                {
                    Value = grp.Key,
                    Sum = grp.Sum(row => row.Field<int>("ColumnB"))
                });

foreach (var colAGroup in colAGroups)
{
    Console.WriteLine(String.Format("{0} {1}", colAGroup.Value, colAGroup.Sum));
}