list.Sort();对于自定义类,可以使用 IComparer 或 IComparable 接口来">

c#怎么对list里面的值重新排序

来源:这里教程网 时间:2026-02-21 16:48:54 作者:

如何对 C# 中 List 中的值重新排序

在 C# 中,可以通过多种方式对 List 中的值进行重新排序。以下是两种最常用的方法:

1. 使用 Sort() 方法

Sort() 方法根据指定的比较规则对 List 中的元素进行就地排序。语法如下:

<code class="csharp">list.Sort();</code>

对于自定义类,可以使用 IComparer 或 IComparable 接口来指定比较规则。

2. 使用 OrderBy() 和 ThenBy() 查询表达式

OrderBy() 和 ThenBy() 查询表达式使用委托语法对 List 中的元素进行排序。语法如下:

<code class="csharp">var sortedList = list.OrderBy(x => x.Property).ThenBy(x => x.AnotherProperty);</code>

OrderBy() 指定主要排序规则,ThenBy() 指定次要排序规则。

示例

以下示例演示了如何使用 Sort() 方法和 OrderBy() 查询表达式对 List 中的整数进行排序:

<code class="csharp">// 使用 Sort() 方法
List<int> numbers = new List<int> { 5, 1, 3, 2, 4 };
numbers.Sort();
// 输出排序后的列表
Console.WriteLine("使用 Sort() 方法排序:");
foreach (int number in numbers)
{
    Console.WriteLine(number);
}
// 使用 OrderBy() 查询表达式
var sortedNumbers = numbers.OrderBy(x => x);
// 输出排序后的列表
Console.WriteLine("使用 OrderBy() 查询表达式排序:");
foreach (int number in sortedNumbers)
{
    Console.WriteLine(number);
}</code>

输出:

<code>使用 Sort() 方法排序:
1
2
3
4
5
使用 OrderBy() 查询表达式排序:
1
2
3
4
5</code>

相关推荐