当我们需要对集合中的元素进行排序时,就可以使用C# LINQ提供的OrderBy()
方法。通过该方法,我们可以轻松地对一个集合进行升序排序。以下是该方法的完整攻略以及两个实例的说明:
语法
OrderBy()
方法使用如下所示:
source.OrderBy(x => x.property)
其中,source
表示需要进行排序的集合,property
表示需要排序的属性。
示例1
下面是一个示例,它演示如何对数字类型的集合进行升序排序,例如列表:[5, 2, 8, 7, 1]
。
List<int> numbers = new List<int>() { 5, 2, 8, 7, 1 };
var orderedNumbers = numbers.OrderBy(n => n).ToList();
foreach (var num in orderedNumbers)
{
Console.WriteLine(num);
}
代码的输出结果如下所示:
1
2
5
7
8
在这个示例中,我们首先创建了一个整数类型的集合,然后使用OrderBy()
方法将该集合按照升序排序。最后,我们使用foreach
循环遍历返回的排序集合,并在控制台上输出每个元素。
示例2
下面是示例2,它演示了如何对人员列表进行排序,例如按照年龄升序排列:
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
List<Person> people = new List<Person>()
{
new Person{ Name = "Tom", Age = 30 },
new Person{ Name = "Jack", Age = 25 },
new Person{ Name = "Amy", Age = 35 },
new Person{ Name = "Mary", Age = 28 },
};
var orderedPeople = people.OrderBy(p => p.Age).ToList();
foreach (var person in orderedPeople)
{
Console.WriteLine("Name: {0}, Age: {1}", person.Name, person.Age);
}
在这个示例中,我们首先创建了一个人员对象的列表,然后使用OrderBy()
方法将其按照年龄升序排序。在最终输出中,我们打印了每个人员对象的姓名和年龄。
以上就是关于OrderBy()
方法的完整攻略,以及它的两个实例。