List列表 OrderBy

本文详细介绍了在编程中使用OrderBy方法进行条件排序和多条件排序的方法,包括如何利用lambda表达式来实现复杂排序逻辑。

一个条件排序情况

list.OrderBy(item => tem.State);

多个条件的情况下

list.OrderBy(item => new {item.State, item.OrderId });

转载于:https://www.cnblogs.com/TNSSTAR/p/3157943.html

### C# 中 List 使用 OrderBy 方法进行排序 在 C# 中,`OrderBy` 是 LINQ (Language Integrated Query) 提供的一个强大工具,用于对集合中的元素按照特定键进行升序排列。对于 `List<T>` 类型的数据结构来说,可以方便地通过此方法实现灵活多样的排序逻辑。 下面是一个简单的例子来展示如何利用 `OrderBy` 对列表对象依据某个属性执行排序操作: ```csharp using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { // 创建一个客户信息列表 var customers = new List<Customer>(){ new Customer { Name="Charlie", City="New York"}, new Customer { Name="Alice", City="Los Angeles"}, new Customer { Name="Bob", City="Chicago"} }; // 使用 OrderBy 按照客户的姓名(Name 属性) 升序排序 var sortedCustomersByNameAsc = customers.OrderBy(cust => cust.Name); foreach(var customer in sortedCustomersByNameAsc){ Console.WriteLine($"Customer: {customer.Name}, Location: {customer.City}"); } } public class Customer{ public string Name{get;set;} public string City{get;set;} } } ``` 这段代码展示了怎样创建一个包含多个顾客记录的列表,并且使用 `OrderBy` 来根据名字字段 (`Name`) 的自然顺序(即字典序)来进行升序排序[^2]。 如果希望改变排序的方向为降序,则可以用 `OrderByDescending` 替代 `OrderBy`: ```csharp var sortedCustomersByNameDesc = customers.OrderByDescending(cust => cust.Name); ``` 当需要应用多重排序条件时,在初次调用了 `OrderBy` 或者 `OrderByDescending` 后还可以继续链式调用 `ThenBy` 或者 `ThenByDescending` 添加额外的排序层次[^1]: ```csharp // 首先按城市名称(City),其次再按个人名(Name) 进行排序 var multiSortedCustomers = customers.OrderBy(cust => cust.City).ThenBy(cust => cust.Name); ``` 上述示例说明了基本的 `OrderBy` 和其变体函数的应用场景以及具体实施方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值