「linq排序java」linq详解

博主:adminadmin 2022-11-22 05:35:05 62

今天给各位分享linq排序java的知识,其中也会对linq详解进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

LINQ的OrderBy有多个字段

LINQ 按多个字段排序(orderby、thenby、Take)

orderby 子句解析为 OrderBy()方法,orderby descending 子句解析为OrderBy Descending()方法:

var racers = Formula1.GetChampions().

Where(r = r.Country == "Brazil").

OrderByDescending(r = r.Wins).

Select(r = r);

OrderBy() 和 OrderByDescending ()方法返回 IOrderEnumerable。这个接口派生于接口

IEnumerable,但包含一个额外的方法CreateOrderedEnumerable- ()。

这个方法用于进一步给序列排序。

如果根据关键字选择器来排序,两项的顺序相同,就可以使用 ThenBy()和 ThenByDescending ()方法继续排序。

这两个方法需要 IOrderEnumerable才能工作,但也返回这个接口。

所以,可以添加任意多个 ThenBy()和 ThenByDescending ()方法,对集合排序。

使用 LINQ 查询时,只需把所有用于排序的不同关键字(用逗号分隔开)添加到orderby 子句中。

这里,

所有的赛手先按照国家排序,再按照姓氏排序,最后按照名字排序。

添加到 LINQ 查询结果中的Take()扩展方法用于提取前 10 个结果:

private static void Ordering() { var racers = (from r in Formula1.GetChampions()orderby r.Country, r.LastName, r.FirstName select r).Take(10); foreach (var racer inracers) { Console.WriteLine("{0:C}: {0:L}, {0:F}", racer); //属性名的第一个字母 } }

Lambda表达式 使用OrderBy()和 ThenBy()方法可以执行相同的操作:

private static void Ordering() {

var racers = Formula1.GetChampions(). OrderBy(r = r.Country). ThenBy(r = r.LastName). ThenBy(r = r.FirstName). Take(10);

foreach (var racer in racers) { Console.WriteLine("{0:C}: {0:L}, {0:F}", racer); //属性名的第一个字母 }

linq 多条件排序,该怎么处理

orderBy,thenby,也可以再加上groupby,分组后组内排序,再把组与组之间排序

「linq排序java」linq详解

如何将list作为linq的数据源进行排序

Listint lst = new Listint() {3,4,2,1 };

lst = lst.OrderBy(item = item).ToList();

foreach (int i in lst)

{

MessageBox.Show(i.ToString());

}

输出的字符是按升序排列的,如果降序使用OrderByDescending

多个条件排序后面的写ThenBy或ThenByDescending

linq排序java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linq详解、linq排序java的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。