C# で配列を降順で並べ替える
Minahil Noor
2024年2月16日
-
C# で
Array.Sort()
およびArray.Reverse()
メソッドを使用して配列を降順で並べ替える -
C# で
OrderByDescending()
メソッドを使用して配列を降順で並べ替える
この記事では、C# で配列を降順で並べ替えるさまざまな方法を紹介します。
C# で Array.Sort()
および Array.Reverse()
メソッドを使用して配列を降順で並べ替える
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
C# で OrderByDescending()
メソッドを使用して配列を降順で並べ替える
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