.net column

.NET開発者のためのブログメディア
数字

【C#の基礎】Array.Sortを使った配列のソート方法

2020年02月18日

複数のデータを格納するデータ形式は、リスト型のほかにも配列型があります。リスト形式のデータにはList.Sortメソッドがあり、用途に応じて昇順・降順でのソートが可能でした。配列型にも同様にArray.Sortメソッドが用意されていますので、型変換をせずにそのままのデータ型でソートを行うことができます。

PG
リスト型ではSortメソッドがありましたが、配列型で同じことはできるのでしょうか?
PM
はい。配列型にもリスト型と同じSortメソッドが用意されていますよ。さっそく使い方を見ていきましょう。

Arrayクラスで昇順にソートする方法

基本的にはList型の使い方と同じになります。ArrayオブジェクトにあるSortメソッドの引数に、対象の配列を指定するだけです。
下記のコードでは、配列型のデータを昇順にソートします。

実行結果

配列を降順にソートする方法

配列型のデータを降順にソートする場合はArray.Reverseメソッドを使用します。注意点があるとすれば、昇順に整列された状態でないとうまく降順にソートできないことと、元のデータの順番が保持されない点です。元のデータの並びが必要な場合には、あらかじめ別のオブジェクトにコピーするなどしておく必要があります。

実行結果

このコードでは、配列型のデータを降順にソートします。

実行結果

このコードでは、配列型のデータを降順にしようとして失敗しています。(配列データの順番が逆になっただけ)

PG
配列型でもメソッドを使って簡単にソートできますね!
PM
そうですね。ただ、降順にする場合には一度昇順にソートしてからというのを覚えておきましょう。

配列型のオブジェクトをSortするときもメソッドが使える

配列型のオブジェクトについても、List型と同様にSortメソッドが用意されているので、これを有効に使っていくと良いでしょう。ただし、注意点にも書いたように、元のデータの順番が保持されないなどの点を踏まえて実行する必要があります。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)