コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【C#】Dictionary を初期化する方法

メンバ変数の場合

using System.Collections.Generic;

public class Program
{
    // コレクション初期化子を使用する方法 その1
    public Dictionary<int, string> m_table1 = new Dictionary<int, string>
    {
        { 1, "フシギダネ" },
        { 2, "フシギソウ" },
        { 3, "フシギバナ" },
    };
        
    // コレクション初期化子を使用する方法 その2
    public Dictionary<int, string> m_table2 = new Dictionary<int, string>
    {
        [ 1 ] = "フシギダネ",
        [ 2 ] = "フシギソウ",
        [ 3 ] = "フシギバナ",
    };
}

ローカル変数の場合

using System.Collections.Generic;

public class Example
{
    public  void Hoge()
    {
        // Add 関数を使用する方法
        var table1 = new Dictionary<int, string>();
        table1.Add( 1, "フシギダネ" );
        table1.Add( 2, "フシギソウ" );
        table1.Add( 3, "フシギバナ" );

        // コレクション初期化子を使用する方法 その1
        var table2 = new Dictionary<int, string>
        {
            { 1, "フシギダネ" },
            { 2, "フシギソウ" },
            { 3, "フシギバナ" },
        };
        
        // コレクション初期化子を使用する方法 その2
        var table3 = new Dictionary<int, string>
        {
            [ 1 ] = "フシギダネ",
            [ 2 ] = "フシギソウ",
            [ 3 ] = "フシギバナ",
        };
    }
}