OrderByDescending在C#中如何处理复杂排序

655Z技术栈 C#编程 2025年08月04日 7

在C#中,可以使用OrderByDescending方法对集合进行复杂排序。可以通过在OrderByDescending方法中传递一个lambda表达式来指定复杂排序的规则。下面是一个示例,演示如何对一个包含自定义对象的集合进行复杂排序:

using System; using System.Collections.Generic; using System.Linq; public class Person { public string Name { get; set; } public int Age { get; set; } } class Program { static void Main() { List<Person> people = new List<Person> { new Person { Name = "Alice", Age = 25 }, new Person { Name = "Bob", Age = 30 }, new Person { Name = "Charlie", Age = 20 }, new Person { Name = "David", Age = 35 } }; var sortedPeople = people.OrderByDescending(p => p.Age).ThenBy(p => p.Name); foreach (var person in sortedPeople) { Console.WriteLine($"{person.Name} - {person.Age}"); } } }

在上面的示例中,我们首先创建了一个Person类来表示一个人的信息。然后创建了一个包含几个Person对象的列表。我们使用OrderByDescending方法按照年龄降序对列表进行排序,然后使用ThenBy方法按照姓名进行升序排序。最后,我们遍历排序后的结果并将结果打印出来。

通过这种方式,我们可以处理复杂的排序需求,并通过lambda表达式指定排序规则。

提供PHP及ThinkPHP框架的定制开发、代码优化,PHP修改、ThinkPHP修改。

邮箱:yvsm@163.com 微信:yvsm316 QQ:316430983
关闭

用微信“扫一扫”