栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

LINQ与groupby和count

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LINQ与groupby和count

调用之后

GroupBy
,您将获得一系列的组
IEnumerable<Grouping>
,其中每个分组本身都会公开
Key
用于创建组的组,并且也是
IEnumerable<T>
原始数据集中的任何项之一。您只需要调用
Count()
该分组即可获得小计。

foreach(var line in data.GroupBy(info => info.metric)  .Select(group => new {        Metric = group.Key,        Count = group.Count()   })  .OrderBy(x => x.Metric){     Console.WriteLine("{0} {1}", line.Metric, line.Count);}

这是一个非常出色的快速回复,但是我在第一行有一个问题,特别是“ data.groupby(info => info.metric)”

我假设您已经有一些

class
看起来像的列表/数组

class UserInfo {    string name;    int metric;    ..etc..} ...List<UserInfo> data = ..... ;

当您这样做时

data.GroupBy(x =>x.metric)
,它的意思是“对于
x
IEnumerable中定义的每个元素
data
,计算
.metric
,然后将具有相同度量的所有元素分组到中,
Grouping
并返回
IEnumerable
所有结果组中的一个。给定示例数据集

    <DATA>| Grouping Key (x=>x.metric) |joe  1 01/01/2011 5  | 1jane 0 01/02/2011 9  | 0john 2 01/03/2011 0  | 2jim  3 01/04/2011 1  | 3jean 1 01/05/2011 3  | 1jill 2 01/06/2011 5  | 2jeb  0 01/07/2011 3  | 0jenn 0 01/08/2011 7  | 0

在groupby之后将产生以下结果:

(Group 1): [joe  1 01/01/2011 5, jean 1 01/05/2011 3](Group 0): [jane 0 01/02/2011 9, jeb  0 01/07/2011 3, jenn 0 01/08/2011 7](Group 2): [john 2 01/03/2011 0, jill 2 01/06/2011 5](Group 3): [jim  3 01/04/2011 1]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370928.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号