利用LINQ GroupBy统计出现次数
LINQ提供了一种便捷的方法,可以根据指定的键对数据项进行分组并统计其出现次数。考虑以下数据集:
<code>UserInfo(name, metric, day, other_metric)</code>
示例数据:
<code>joe 1 01/01/2011 5 jane 0 01/02/2011 9 john 2 01/03/2011 0 jim 3 01/04/2011 1 jean 1 01/05/2011 3 jill 2 01/06/2011 5 jeb 0 01/07/2011 3 jenn 0 01/08/2011 7</code>
目标是创建一个表格,按顺序列出指标及其出现总次数。合适的LINQ表达式如下:
<code>var counts = data.GroupBy(i => i.metric) .Select(g => new { Metric = g.Key, Count = g.Count() }) .OrderBy(r => r.Metric);</code>
工作原理如下:
metric
属性对data
中的元素进行分组。这将产生一个组的集合,每个组代表一个唯一的指标值。执行此LINQ表达式将产生所需输出:
<code>0 3 1 2 2 2 3 1</code>
以上是如何使用 LINQ GroupBy 来计算数据集中的指标出现次数?的详细内容。更多信息请关注PHP中文网其他相关文章!