起因 今天在公司做一个需求的时候,写的是面条代码,一个方法直接从头写到尾,其中用到了GroupBy,且GroupBy的KeySelector是多个属性而不是单个属性. 但是公司最近推行Clean Code,要让代码有可读性.且作为一个有追求的程序员,肯定是不能写面条代码的,要对代码进行拆分. 重构前GroupBy大概是这样子的: var groups = data.GroupBy(m => new { m.PropertyA, m.PropertyB}) 个人对于短的Linq比较习惯于用方法而不
Linq 中按照多个值进行分组(GroupBy) .GroupBy(x => new { x.Age, x.Sex }) group emp by new { emp.Age, emp.Sex } into g // 实现多key分组的扩展函数版本 var sums = empList .GroupBy(x => new { x.Age, x.Sex }) .Select(group => new { Peo = group.Key, Count = group.Count() });
创建要查询的对象: 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<Employee> empList = new List<Employee>(); empList
转载: https://www.cnblogs.com/cncc/p/9846390.html 一.先准备要使用的类: 1.Person类: class Person { public string Name { set; get; } public int Age { set; get; } public string Gender { set; get; } public override string ToString() => Name; } 2.准备要使用的List,用于分组(Grou
示例1: GroupBy 分组在List<>泛型中的应用 原表: 按姓名Nam 分组后结果: 对DATATABLE 进行LAMDA查询时必须在项目的引用中添加 System.Data.DataSetExtensions 代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } List<Person> persons1 = new List<Person>(); p
Linq 中按照多个值进行分组(GroupBy) /// <summary>要查询的对象</summary> 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<