当前位置: 代码迷 >> 综合 >> LINQ(5)——排序,分组
  详细解决方案

LINQ(5)——排序,分组

热度:9   发布时间:2023-10-01 22:07:44.0

1、orderby item

2、orderby person.Age descending

3、

int[] values = { 1, 2, 5, 2, 3, 5, 5, 3, 4, 3, 3 };var result = from i in valuesgroup i by i into g//按照i进行排序,分组的数据用g表示select g.Key;//每个g就是一份分组。一个组用一个g表示

4、

int[] values = { 1, 2, 5, 2, 3, 5, 5, 3, 4, 3, 3 };var result = from i in valuesgroup i by i into g//按照i进行排序,分组的数据用g表示select new { 数字 = g.Key,个数=g.Count() };//每个g就是一份分组。一个组用一个g表示//g.Key指的就是这一组的值

5、

var result = from person in personsgroup person by person.Age into g//by 后面指的就是“根据谁分组”select new { 年龄 = g.Key, 人数 = g.Count() };//g.Key就是组的年龄

详细看下面:

 //分组,统计每个数出现的次数/*int[] values = { 1, 2, 5, 2, 3, 5, 5, 3, 4, 3, 3 };var result = from i in valuesgroup i by i into g//按照i进行排序,分组的数据用g表示select g.Key;//每个g就是一份分组。一个组用一个g表示foreach (int i in result){Console.WriteLine(i);}*//*int[] values = { 1, 2, 5, 2, 3, 5, 5, 3, 4, 3, 3 };var result = from i in valuesgroup i by i into g//按照i进行排序,分组的数据用g表示select new { 数字 = g.Key,个数=g.Count() };//每个g就是一份分组。一个组用一个g表示//g.Key指的就是这一组的值foreach (var i in result){Console.WriteLine(i.数字+"="+i.个数);}*//*Person[] persons = new Person[] { new Person("tom", 30), new Person("jim", 20), new Person("john", 30), new Person("liy", 18), new Person("lucy", 18) };var result = from person in personsgroup person by person.Age into g//by 后面指的就是“根据谁分组”select new { 年龄 = g.Key, 人数 = g.Count() };//g.Key就是组的年龄foreach (var i in result){Console.WriteLine(i.年龄 + "=" + i.人数);}*//*Person[] persons = new Person[] { new Person("tom", 30), new Person("jim", 20), new Person("john", 30), new Person("liy", 18), new Person("lucy", 18) };var result = from person in personsgroup person by person.Name[0] into gselect new { 姓氏 = g.Key, 人数 = g.Count() };foreach (var i in result){Console.WriteLine(i.姓氏 + "=" + i.人数);}*/

6、var r = values.Select(s=>Convert.ToInt32(s)).Where(i => i < 20).Select(i => i+1)。()=>就是委托的一种声明方式。

  相关解决方案