C#DataTable LINQ&通过...分组

时间:2010-11-06 17:18:46

标签: c# .net linq datatable .net-3.5

我有一个DataTable有20列(我只需要其中的3列。)我需要对其执行以下查询,然后将结果保存为array。我做了一些搜索,但我无法弄清楚如何进行数学运算。我知道应该使用LINQ,但我没有得到任何地方。非常感谢任何帮助!

SELECT DISTINCT columnZ, (columnX + columnY) / 2 FROM DataTable

*编辑 - 更正了SQL语句

1 个答案:

答案 0 :(得分:3)

回答你的上一条评论(我建议你更新问题):

  var result = 
    (from row in dataTable.AsEnumerable()
     let average = ((double)row["columnX"] + (double)row["columnY"])/2
     select new 
     {
        ColumnZ = (string)row["columnZ"],
        Average = average
     }).Distinct();

使用您的实际数据类型。