首页 / .NET / 正文

[LINQ].NET/C#程序开发中如何使用LINQ进行多字段(属性)排序?

3099 发布于: 2018-01-29 读完约需2分钟

问题描述

比如当前有如下的实体类:

登录后复制
public class FooBar { public virtual int Id { get; set; } public virtual string Foo{ get; set; } public virtual string Bar{ get; set; } }

通过LINQ的查询表达式是可以实现多字段排序,如:

登录后复制
//查询数据列表集合 var foobarList = GetFooBarList(); //查询并排序 var resultSet = from foobars in foobarList orderby foobars.Foo, foobars.Bar select foobars; // 迭代查询结果 foreach (var foobar in resultSet) { // 你的代码逻辑 }

LINQLambda表达式中如何对多字段进行排序,如下的伪代码:

登录后复制
var resultSet = foobarList.OrderBy(x => new {x.Foo, x.Bar}) .Select(x=>x);

方案一

使用LINQOrderBy,然后ThenBy或者ThenByDescending这样的扩展方法,如下:

登录后复制
foobarList.OrderBy(x => x.Foo).ThenBy( x => x.Bar);

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: [LINQ]C#程序开发中如何使用LINQ读取XML文件

下一篇: [LINQ].NET/C#程序开发中如何使用LINQ查询前几条数据记录

本文永久链接码友网 » [LINQ].NET/C#程序开发中如何使用LINQ进行多字段(属性)排序?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册