Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq datatable获取唯一行及其计数_Linq_Datatable - Fatal编程技术网

Linq datatable获取唯一行及其计数

Linq datatable获取唯一行及其计数,linq,datatable,Linq,Datatable,我有如下数据表: 国家 中国 印度 泰国 印度 中国 中国 泰国 香港 印度 可以使用LINQ获得如下所示的输出 国家统计 印度3 中国2 泰国2 香港1 < P>正如Ben Allred指出的,你可能要找的是LINQ GROPIB/方法。 使用查询语法,它可能看起来像这样: var query = from tuple in table group tuple by tuple.Country into g selec

我有如下数据表:

国家

中国 印度 泰国 印度 中国 中国 泰国 香港 印度

可以使用LINQ获得如下所示的输出

国家统计 印度3 中国2 泰国2
香港1

< P>正如Ben Allred指出的,你可能要找的是LINQ <代码> GROPIB/<代码>方法。

使用查询语法,它可能看起来像这样:

    var query = from tuple in table
                group tuple by tuple.Country into g
                select new { Country = g.Key, Count = g.Count() };
query
现在包含一个IEnumerable匿名对象集合,其成员为字符串
Country
和整数
Count
,表示该国家/地区在表中的出现次数

当然,您现在可以迭代这些对象,如下所示:

     foreach (var item in query)
     {
         Console.WriteLine("Country : {0} - Count : {1}", item.Country, item.Count);
     }
关于更多的例子,我强烈建议


还值得指出的是,如果您之前没有使用LINQ,那么处理将被延迟,这意味着在您尝试访问其任何项(例如,
foreach
语句)之前,
query
对象上的迭代不会发生。如果从
中进行的收集或读取非常昂贵,并且您打算多次使用查询结果,则可以在
query
上调用
ToList()
,以返回更具体的收集。

您看过LINQ的
GroupBy
扩展方法吗?如果你尝试了,遇到了麻烦,把你尝试过的贴出来,我们可以帮你。