📅  最后修改于: 2023-12-03 14:50:08.905000             🧑  作者: Mango
列表是一种经常用于存储数据的集合,在实际应用中我们经常需要对列表进行排序。C#提供了许多内置方法来对列表进行排序,本篇文章将为您介绍C#内置方法对列表进行排序的方法。
List.Sort() 方法用于对列表中的元素进行排序,排序规则由实现 IComparable 接口的元素类型的 CompareTo 方法定义。
List<int> numberList = new List<int> { 3, 2, 1 };
numberList.Sort();
List.Reverse() 方法用于将列表中的元素反转。
List<int> numberList = new List<int> { 3, 2, 1 };
numberList.Reverse();
IEnumerable是C#中的一个核心概念,它定义了一个用于支持简单迭代的接口。IEnumerable排序方法适用于大多数集合类型。
OrderBy 方法用于将一个序列按照指定的规则进行升序排列。OrderBy 的参数是一个 lambda 表达式,用来指定用于比较的排序规则。
List<int> numberList = new List<int> { 3, 2, 1 };
var sortedNumbers = numberList.OrderBy(x => x);
OrderByDescending 方法用于将一个序列按照指定的规则进行降序排列,参数和OrderBy相同。
List<int> numberList = new List<int> { 3, 2, 1 };
var sortedNumbers = numberList.OrderByDescending(x => x);
ThenBy 方法是 OrderBy 方法的补充,用于排序规则相同时,再根据指定的规则进行升序排序。
List<string> stringList = new List<string> { "ccc", "aa", "bbb" };
var sortedStrings = stringList.OrderBy(x => x.Length).ThenBy(x => x);
ThenByDescending 方法是 ThenBy 方法的补充,用于排序规则相同时,再根据指定的规则进行降序排序。
List<string> stringList = new List<string> { "ccc", "aa", "bbb" };
var sortedStrings = stringList.OrderBy(x => x.Length).ThenByDescending(x => x);
Array.Sort() 方法用于对数组中的元素进行排序,排序规则由实现 IComparable 接口的元素类型的 CompareTo 方法定义。
int[] numberArray = new int[] { 3, 2, 1 };
Array.Sort(numberArray);
Array.Reverse() 方法用于将数组中的元素反转。
int[] numberArray = new int[] { 3, 2, 1 };
Array.Reverse(numberArray);
以上就是C#内置方法对列表进行排序的方法,希望能对您有所帮助。