号外号外: 原[图享网]更名为 码友网(codedefault.com) 啦,感谢大家一路上的陪伴与支持。代码的世界里,码友网与大家一起同行!

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

.NET 作者: Rector 118阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

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

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].NET/C#程序开发中如何使用LINQ进行多字段(属性)排序?

发布于: 2018-01-29 21:03:00
分享扩散:

文章评论

获取验证码