在 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