[C#]Array.Sort()で文字列の配列(Array)を降順にソートするには?

C#

どうも、ちょげ(@chogetarou)です。

Array.Sort()を使って文字列の配列(Array)を降順にソートする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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()を使う方法

コメント

タイトルとURLをコピーしました