どうも、ちょげ(@chogetarou)です。
Array.Sort()を使って文字列の配列(Array)を降順にソートする方法を紹介します。
方法

Array.Sort()で文字列の配列(Array)をソートする方法は、2つあります。
Reverse()
1つは、Reverse()を使う方法です。
まず、Array.Sort()を呼び出します。
Array.Sort()の引数に配列を指定します。
そして、Array.Reverse()を呼び出します。
Array.Reverse()の引数に、Array.Sort()の引数に指定した配列を指定します。
Array.Sort(array);
Array.Reverse(array);
Array.Sort()の後にArray.Reverse()を呼び出すことで、文字列の配列を降順にソートできます。
使用例
using System;
public class Example
{
public static void Main()
{
string[] myArray = new string[5] { "b", "a", "cd", "ca", "ea"};
Array.Sort(myArray);
Array.Reverse(myArray);
foreach (var i in myArray)
{
Console.WriteLine(i);
}
}
}

Comparison()
もう1つは、Comparison()を使う方法です。
まず、Array.Sort()を呼び出します。
Array.Sort()の第1引数に配列、第2引数にComparison()のインスタンスを指定します。
そして、Comparison()の引数に、引数を2つ持つラムダ式を指定します。
ラムダ式で、第2引数から呼び出し、引数に第1引数を指定したCompareTo()を返します。
Array.Sort<string>(myArray, new Comparison<string>(
(x, y) => y.CompareTo(x)));
上記のArray.Sort()は、第1引数に指定した文字列の配列を降順にソートします。
使用例
using System;
public class Example
{
public static void Main()
{
string[] myArray = new string[5] { "b", "a", "cd", "ca", "ea"};
Array.Sort<string>(myArray, new Comparison<string>(
(i1, i2) => i2.CompareTo(i1)));
foreach (var i in myArray)
{
Console.WriteLine(i);
}
}
}

まとめ
Array.Sort()で文字列の配列(Array)を降順にソートする方法は、次の2つです。
- Array.Reverse()を使う方法
- Comparison()を使う方法
コメント