【C#】文字列リストを昇順/降順にソートする

C#

この記事では、文字列リストを並べ替える方法を紹介します。Sortメソッドの引数なしと、カスタム比較を覚えておけば昇順/降順のどちらも出来ます。

準備

まずは、文字列リストを作成します。

List<string> fruits = new List<string> { "Orange", "Banana", "Apple", "Grape" };

昇順ソート

アルファベット順に昇順ソート

このリストをアルファベット順に並べ替える場合は引数なしのSortメソッドを使用します。

fruits.Sort();

実行後の並び順

Apple
Banana
Grape
Orange

カスタム比較を使用した昇順ソート

カスタム比較関数でも上記と同じことができます。

fruits.Sort((x, y) => x.CompareTo(y));

実行後の並び順

Apple
Banana
Grape
Orange

降順ソート

おすすめはカスタム比較関数です。=>の右辺を昇順と逆にします。

fruits.Sort((x, y) => y.CompareTo(x));

実行後の並び順

Orange
Grape
Banana
Apple

カスタム比較関数を使った特殊な並べ替え

特定の条件で並べ替えを行いたい場合は、カスタム比較関数を使用することができます。例えば、文字列の長さが短い順に並べ替えるには以下のようにします。

fruits.Sort((x, y) => x.Length.CompareTo(y.Length));

実行後の並び順

Apple
Grape
Orange
Banana
タイトルとURLをコピーしました