繁体   English   中英

排序IEnumerable <type> 由三个领域

[英]Sorting an IEnumerable<type> by three fields

我已经定义了如下类型:

public class myType
{
    public string firstName { get; set; }
    public string middleName { get; set; }
    public string lastName { get; set; }
}

我有一个IEnumerable<myType>

我想使用.OrderBy()扩展来对.OrderBy()列表进行排序,如下所示。

对象应按姓氏排序。 如果姓氏相同,则应按名字顺序排列。 如果名字相同,则应按中间名排序。

我该怎么做呢?

var qry = items.OrderBy(x => x.lastName).ThenBy(x => x.firstName)
    .ThenBy(x => x.middleName);

或者在LINQ语法中:

var qry = from x in items
          orderby x.lastName, x.firstName, x.middleName
          select x;
myList.OrderBy(t => t.lastName).ThenBy(t => t.firstName).ThenBy(t => t.middleName)

此外,每个OrderByThenBy都有一个Descending Version,所以OrderByDescendingThenByDescending

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM