C# で配列を降順で並べ替える

  1. Array.Sort() および Array.Reverse() メソッドを使用して、C# で配列を降順で並べ替える
  2. OrderByDescending() メソッドを使用して、C# で配列を降順で並べ替える

この記事では、C# で配列を降順で並べ替えるさまざまな方法を紹介します。

Array.Sort() および Array.Reverse() メソッドを使用して、C# で配列を降順で並べ替える

2つのメソッド Array.sort()Array.Reverse() をまとめて、配列を降順で並べ替えます。Array.Sort() メソッドは、配列を昇順で並べ替えます。Array.Reverse() メソッドを使用して配列を反転し、配列を降順で並べ替えます。これらのメソッドには複数のオーバーロードがあります。これらのメソッドを使用するための正しい構文は次のとおりです。

Array.Sort(Array array);

メソッド Sort() のこのオーバーロードには、パラメータが 1つだけあります。パラメータの詳細は以下のとおりです

パラメーター 説明
array 必須 これは、並べ替える配列です。

この関数は、配列を昇順でソートします。

Array.Reverse(Array array);

メソッド Reverse() のこのオーバーロードには、1つのパラメーターしかありません。パラメータの詳細は以下のとおりです。

パラメーター 説明
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() メソッドを使用することもできます。配列を降順で並べ替えます。このメソッドには複数のオーバーロードがあります。使用するオーバーロードには 2つのパラメーターがあります。このメソッドを使用するための正しい構文は次のとおりです。

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

  • C# 配列への値の追加
  • C# で 2つの配列をマージする