[C#]计算中使用 linq 的数据表中每个列的值的发生

标签: Linq DataTable C#
发布时间: 2017/2/27 4:16:23
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有数据表格,如包含组的属性 (天气,风,......等)

我想要的每个中每个列或属性的值的个数。

这是我的数据表︰

input

输出将类似于︰

Weather:
   sunny : 120

   cloudy : 200

   rainy : 300
Wind:
   slight : 200

   strong : 120

我也不知道从哪里开始,任何的想法可以节省我的一天

谢谢

解决方法 1:

它是很容易的。

这将创建具有属性的匿名对象数组 KeyCount

// Add to the project a reference to System.Data.DataSetExtensions.dll
// Add a "using System.Data" to the cs file

// dt is your DataTable

var res = (from x in dt.AsEnumerable()
           group x by (string)x["Weather"] into y
           select new { Key = y.Key, Count = y.Count() }).ToArray();

这将创建一个数组 Tuple<string, int> 包含相同的数据。

var res2 = (from x in dt.AsEnumerable()
            group x by (string)x["Weather"] into y
            select Tuple.Create(y.Key, y.Count())).ToArray();

别忘了阅读的评论 !

显然,你得为每一列重复一切。

赞助商