void Main()
{
var empList =new List<Employee>
{
new Employee {ID = , FName = "John", Age = , Sex = 'M'},
new Employee {ID = , FName = "Mary", Age = , Sex = 'F'},
new Employee {ID = , FName = "Amber", Age = , Sex = 'M'},
new Employee {ID = , FName = "Kathy", Age = , Sex = 'F'},
new Employee {ID = , FName = "Lena", Age = , Sex = 'F'},
new Employee {ID = , FName = "Bill", Age = , Sex = 'M'},
new Employee {ID = , FName = "Celina", Age = , Sex = 'F'},
new Employee {ID = , FName = "John", Age = , Sex = 'M'}
};

  //这里是根据Age,Sex进行分组
// query with lamda expression g.Key代表Age和Sex两字段,Count为新增字段 // 最终返回的集合QueryWithLamda包含字段:Age、Sex、Count
var QueryWithLamda = empList.GroupBy(x => new { x.Age, x.Sex})
.Select(g=>new {g.Key, Count=g.Count()}); //query with standard expression<br> //返回结果同上
var query=from el in empList
group el by new {el.Age,el.Sex} into g
select new {g.Key, Count=g.Count()}; foreach (var employee in query /* Or QueryWithLamda */ )
Console.WriteLine(employee.Count); } public class Employee
{
public int ID {get;set;}
public string FName {get;set;}
public int Age {get;set;}
public char Sex {get;set;}
}

C#集合中根据多个字段分组 group by linq表达式的更多相关文章

  1. .Net Linq与Lambda表达式中GroupBy以多个字段分组

    一.引入 基本上熟悉C#语言的没有不知道Lambda表达式的,其对于数据的处理真的是太方便了.其中分组处理的GroupBy方法在List中的使用非常广泛.正式近期一个功能需求中又遇到了,而且是需要Gr ...

  2. List集合中元素排序

    应用场景: 在开发中经常遇到要对List<Object>集合进行排序,并且是根据集合中的对象的某个属性来进行排序    --------以下就此做出的解决方案 public static ...

  3. orm中的聚合函数,分组,F/Q查询,字段类,事务

    目录 一.聚合函数 1. 基础语法 2. Max Min Sum Avg Count用法 (1) Max()/Min() (2)Avg() (3)Count() (4)聚合函数联用 二.分组查询 1. ...

  4. java8 从对象集合中取出某个字段的集合

    public class FeildTest { public static void main(String[] args) { //定义list集合 List<P> list = Ar ...

  5. List集合中的对象按照某个字段去重实现

    package com.liying.banana.user; import java.util.ArrayList; import java.util.Comparator; import java ...

  6. List集合中的数据按照某一个属性进行分组

    有的时候,我们需要在java中对集合中的数据进行分组运算.例如:Bill对象有money(float)和type(String)属性,现有个集合List<Bill>,需要按照Bill的ty ...

  7. 关于java中对list集合中的数据按照某一个属性进行分组

    有的时候,我们需要在java中对集合中的数据进行分组运算. 例如:Bill对象有money(float)和type(String)属性,现有个集合List<Bill>,需要按照Bill的t ...

  8. C# Mongo DB 修改多层嵌套集合中的字段

    C# Mongo DB 修改嵌套集合中的字段 虽然c#的mongo 驱动很强大,而且还支持linq,但是一些复杂的操作语句还是比较困难 这里我用Bson实现功能 这是模型(我这里有多层嵌套) publ ...

  9. java范型集合中的成员排序

    范型集合中的类是JsonObject,不是自定义类,如果是自定义类就直接取要比较的字段值. ArrayList<JSONObject> TList = new ArrayList<J ...

随机推荐

  1. MySQL循环日期

    DROP PROCEDURE IF EXISTS `insertManyDate`$$ CREATE DEFINER=`root`@`%` PROCEDURE `insertManyDate`(IN ...

  2. 简单使用:spring boot整合spring Data JPA

    JPA顾名思义就是Java Persistence API的意思,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 1.jpa具有什么优势? (1).标准 ...

  3. Linux编译安装相关命令

    1.  configuer configure  是一个shell脚本,用来检测安装平台是否符合要求,并通过配置参数生成makefile文件 2. make  (make all 的简写) 编译命令, ...

  4. 百度云人脸识别API人脸对比

    from urllib import request import base64 import requests import re import json import urllib import ...

  5. Linux---vim编辑文本文件

    1.vim工作模式 普通模式:该模式下可以快速移动光标位置,能够执行对文本的快捷编辑,但是不能够在文本中输入内容: 插入模式:该模式主要用于在文本中插入内容,是文本输入时最常使用的模式: 命令模式:该 ...

  6. windows 7系统下查看被占用的端口并解除占用

    运行输入cmd,在命令行输入 netstat -ano 查找所占用端口所在的行,如图本例子被占用端口为9999,记住对应的pid 然后输入 tasklist|findstr pid(此处为9528) ...

  7. 201871020225-牟星源《面向对象程序设计(java)》第十一周学习总结

    201871020225-牟星源<面向对象程序设计(java)>第十一周学习总结 博文正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu ...

  8. uiautomator输入中文实例

    package com.demo3; import jp.jun_nama.test.utf7ime.helper.Utf7ImeHelper; import com.android.uiautoma ...

  9. Linux sh、source和.命令执行.sh文件的区别

    sh文件介绍 .sh为Linux的脚本文件,我们可以通过.sh执行一些命令,可以理解为windows的.bat批处理文件. 点命令 .命令和source是同一个命令,可以理解为source的缩写,简称 ...

  10. JDOJ3010 核反应堆

    JDOJ3010 核反应堆 https://neooj.com/oldoj/problem.php?id=3010 题目描述 某核反应堆有两类事件发生: 高能质点碰击核子时,质点被吸收,放出3个高能质 ...