📜  c# OrderBy desc - C# (1)

📅  最后修改于: 2023-12-03 15:13:49.433000             🧑  作者: Mango

C# OrderBy Desc

简介

在C#中,OrderByOrderByDescending是LINQ(Language Integrated Query)查询语法中用于对集合进行排序的方法。这两个方法允许程序员按照指定的条件对集合中的元素进行排序并返回一个新的排序后的集合。

使用示例
OrderBy 方法

OrderBy方法按照指定的条件对集合进行升序排序。

var numbers = new List<int> { 5, 2, 9, 1, 3 };
var sortedNumbers = numbers.OrderBy(n => n);

foreach (var number in sortedNumbers)
{
    Console.WriteLine(number);
}

输出:

1
2
3
5
9
OrderByDescending 方法

OrderByDescending方法按照指定的条件对集合进行降序排序。

var numbers = new List<int> { 5, 2, 9, 1, 3 };
var sortedNumbers = numbers.OrderByDescending(n => n);

foreach (var number in sortedNumbers)
{
    Console.WriteLine(number);
}

输出:

9
5
3
2
1
自定义排序条件

除了基本的类型排序,我们还可以使用自定义的排序条件进行排序。例如,对一个包含Person对象的集合按照年龄进行排序:

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

var people = new List<Person>
{
    new Person { Name = "John", Age = 25 },
    new Person { Name = "Bob", Age = 30 },
    new Person { Name = "Alice", Age = 20 }
};

var sortedPeople = people.OrderByDescending(p => p.Age);

foreach (var person in sortedPeople)
{
    Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}

输出:

Name: Bob, Age: 30
Name: John, Age: 25
Name: Alice, Age: 20
总结

OrderBy方法用于按照指定条件对集合进行升序排序,而OrderByDescending方法用于按照指定条件对集合进行降序排序。根据具体需求选择合适的方法来排序集合,使得程序更加灵活和高效。