在 C# 中以降序對陣列進行排序

Minahil Noor 2023年1月30日 2021年3月21日
  1. 使用 Array.Sort()Array.Reverse() 方法在 C# 中以降序對陣列進行排序
  2. 使用 OrderByDescending() 方法在 C# 中以降序對陣列進行排序
在 C# 中以降序對陣列進行排序

本文將介紹在 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

相關文章 - Csharp Array