C# List排序:Sort、OrderBy 和 OrderByDescending 方法
对C# List进行排序有很多种方法,以下是其中的一些:
- 使用List的Sort方法
List类有一个Sort方法,可以用来对列表中的元素进行排序。该方法可以接收一个比较器(Comparer)作为参数,用来指定排序规则。如果没有比较器,则默认按照元素的自然顺序进行排序。
例如,以下代码演示了如何按照数字大小对List进行排序:
List<int> numbers = new List<int> { 5, 3, 9, 1, 7 };
numbers.Sort();
foreach (int number in numbers)
{
Console.WriteLine(number);
}
输出结果:
1
3
5
7
9
- 使用LINQ的OrderBy方法
LINQ(Language-Integrated Query)是C#的一个强大的查询语言,可以用来查询、过滤、排序等。List类也支持LINQ操作,其中OrderBy方法可以用来对列表进行排序。该方法也可以接收一个比较器作为参数。
例如,以下代码演示了如何按照字符串长度对List进行排序:
List<string> words = new List<string> { 'apple', 'banana', 'cat', 'dog', 'elephant' };
List<string> sortedWords = words.OrderBy(w => w.Length).ToList();
foreach (string word in sortedWords)
{
Console.WriteLine(word);
}
输出结果:
cat
dog
apple
banana
ephant
- 使用LINQ的OrderByDescending方法
如果需要按照逆序排序,可以使用LINQ的OrderByDescending方法。该方法与OrderBy方法类似,只不过排序规则是按照降序进行的。
例如,以下代码演示了如何按照数字大小逆序对List进行排序:
List<int> numbers = new List<int> { 5, 3, 9, 1, 7 };
List<int> sortedNumbers = numbers.OrderByDescending(n => n).ToList();
foreach (int number in sortedNumbers)
{
Console.WriteLine(number);
}
输出结果:
9
7
5
3
1
总结
以上是对C# List进行排序的三种常用方法,其中Sort方法是最简单、最直接的方式,OrderBy和OrderByDescending方法则是更灵活、更强大的方式。根据实际需求选择不同的方法即可。
原文地址: https://www.cveoy.top/t/topic/lFAD 著作权归作者所有。请勿转载和采集!