在 C# 中以降序对数组进行排序
Minahil Noor
2023年1月30日
2021年3月21日
本文将介绍在 C# 中以降序对数组进行排序的不同方法。
使用 Array.Sort()
和 Array.Reverse()
方法在 C# 中以降序对数组进行排序
我们将使用两种方法 Array.sort()
和 Array.Reverse()
一起对数组进行降序排序。Array.Sort()
方法以升序对数组进行排序。我们将使用 Array.Reverse()
方法反转数组,以降序对数组进行排序。这些方法有很多重载。使用这些方法的正确语法如下。
Array.Sort(Array array);
方法 Sort()
的重载只有一个参数。其参数的详细内容如下
参数 | 描述 | |
---|---|---|
array |
强制的 | 这是我们要排序的数组。 |
此函数以升序对数组进行排序。
Array.Reverse(Array array);
方法 Reverse()
的重载只有一个参数。其参数的详细信息如下。
参数 | 描述 | |
---|---|---|
array |
强制的 | 这是我们要反转的数组。 |
此函数反转给定的数组。
下面的程序显示了如何使用 Sort()
和 Reverse()
方法对数组进行降序排序。
using System;
class Sort {
public static void Main()
{
int[] arr = new int[] {2, 10, 5, 8, 4, 11};
Console.WriteLine("Array Before Sorting:\n");
foreach(int value in arr)
{
Console.Write(value + " ");
}
Console.WriteLine("\n");
Array.Sort(arr);
Array.Reverse(arr);
Console.WriteLine("Array After Sorting:\n");
foreach(int value in arr)
{
Console.Write(value + " ");
}
}
}
输出:
Array Before Sorting:
2 10 5 8 4 11
Array After Sorting:
11 10 8 5 4 2
使用 OrderByDescending()
方法在 C# 中以降序对数组进行排序
在 C# 中,我们还可以使用 LINQ 的 OrderByDescending()
方法以降序对数组进行排序。此方法有多个重载。我们将使用的重载有两个参数。使用此方法的正确语法如下。
Array.OrderByDescending(source, keySelector);
其参数的详细信息如下
参数 | 描述 | |
---|---|---|
source |
它是要排序的值的序列。 | |
keySelector |
这是一个从元素中提取键的函数。 |
此函数对数组进行排序并返回 IOrderedEnumerable
。我们将使用 ToArray()
方法将其转换为数组。
下面的程序显示了如何使用 OrderByDescending()
方法以降序对数组进行排序。
using System;
using System.Linq;
class Sort {
public static void Main()
{
int[] arr = new int[] {2, 10, 5, 8, 4, 11};
Console.WriteLine("Array Before Sorting:\n");
foreach(int value in arr)
{
Console.Write(value + " ");
}
Console.WriteLine("\n");
arr = arr.OrderByDescending(c => c).ToArray();
Console.WriteLine("Array After Sorting:\n");
foreach(int value in arr)
{
Console.Write(value + " ");
}
}
}
输出:
Array Before Sorting:
2 10 5 8 4 11
Array After Sorting:
11 10 8 5 4 2