Fun Coding

学んだことを記録していきます!

【C#】リストの要素を昇順にソートする方法(OrderBy)

リストの要素を昇順にソートする方法の1つに「OrderBy」メソッドがあります。
LINQを使った方法になります。
サンプルコードを交えて解説したいと思います。

説明

リストの要素をキーに従ってソートする。

ポイント

・変換されたリストを返す。
・遅延評価される。


変換されたリストを返さずに同様のことを行いたい場合は「Sort」を使います。
funcording.hatenablog.com

コード
using System;
using System.Collections.Generic;
using System.Linq;

namespace Sample {
    /// <summary>
    /// メインプログラム
    /// </summary>
    public class Program {
        /// <summary>
        /// OrderByの使い方
        /// </summary>
        static void Main() {
            // リストを生成
            var list = new List<int>();

            // リストに値を追加
            list.Add(10);
            list.Add(1);
            list.Add(0);
            list.Add(3);
            list.Add(7);
            list.Add(5);

            // 昇順にソート
            IOrderedEnumerable<int> result = list.OrderBy(n => n);
            Console.WriteLine("OrderBy : " + string.Join(", ", result));
        }
    }
}
出力
OrderBy : 0, 1, 3, 5, 7, 10