博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linq 中按照多个值进行分组(GroupBy,Count)
阅读量:6678 次
发布时间:2019-06-25

本文共 1475 字,大约阅读时间需要 4 分钟。

原帖:
/// 要查询的对象class Employee {   public int ID { get;set; }   public string FName { get; set; }   public int Age { get; set; }   public char Sex { get; set; }}

如果对这个类的Age和Sex的连个字段进行分组,方法如下:

// 先造一些数据List
empList = new List
();empList.Add(new Employee() { ID = 1, FName = "John", Age = 23, Sex = 'M'});empList.Add(new Employee() { ID = 2, FName = "Mary", Age = 25, Sex = 'F'});empList.Add(new Employee() { ID = 3, FName = "Amber", Age = 23, Sex = 'M'});empList.Add(new Employee() { ID = 4, FName = "Kathy", Age = 25, Sex = 'M'});empList.Add(new Employee() { ID = 5, FName = "Lena", Age = 27, Sex = 'F'});empList.Add(new Employee() { ID = 6, FName = "Bill", Age = 28, Sex = 'M'});empList.Add(new Employee() { ID = 7, FName = "Celina", Age = 27, Sex = 'F'});empList.Add(new Employee() { ID = 8, FName = "John", Age = 28, Sex = 'M'});

接下来的做法是:

// 实现多key分组的扩展函数版本var sums = empList         .GroupBy(x => new { x.Age, x.Sex })         .Select(group => new {            Peo = group.Key, Count = group.Count()         });foreach (var employee in sums) {   Console.WriteLine(employee.Count + ": " + employee.Peo);}// 实现多key分组的lambda版本var sums2 = from emp in empList            group emp by new { emp.Age, emp.Sex } into g            select new { Peo = g.Key, Count = g.Count() };foreach (var employee in sums) {   Console.WriteLine(employee.Count + ": " + employee.Peo);}

这个例子中就充分利用了匿名类型

转载于:https://www.cnblogs.com/shuting/p/5795905.html

你可能感兴趣的文章
[Node] Using dotenv to config env variables
查看>>
Easyui的numberbox无法输入以0开头的数字编号(转载)
查看>>
网页截图工具CutyCapt
查看>>
Android Jni Android.mk经常使用语句
查看>>
《影响力》6个使人顺从的武器之一互惠原理深入剖析
查看>>
Guava学习之Preconditions
查看>>
移动电力猫HG260GT pon实现路由拨号
查看>>
linux 系统获得当前文件夹下存在的所有文件 scandir函数和struct dirent **namelist结构体[转]...
查看>>
关于inodes占用100%的问题及解决方法
查看>>
nvidia驱动安装
查看>>
XHTML 教程(摘录自 W3C School)
查看>>
Directx11教程(50) 输出depth/stencil buffer的内容
查看>>
搜索引擎首页
查看>>
YARN - Yet Another Resource Negotiator
查看>>
[ASP.NET MVC 小牛之路]03 - Razor语法(转)
查看>>
linux系统下make & make install
查看>>
053医疗项目-模块五:权限设置-将用户操作权限写入Session
查看>>
DocX开源WORD操作组件的学习系列一
查看>>
box2dflash flash物理引擎
查看>>
python 守护线程和loggin模块
查看>>