業務のためのC#・C言語・C++学習

主にC#の文法やWPF周りのアウトプットに利用してます。

【C#-文法】Dictionaryに値を追加・上書きする方法

一意のキーと値のペアで管理されるDictionary<キー、値>には、値を「追加・上書き」する方法が2つあります。 1つはAddメソッドによる方法、もう1つはブラケット構文による方法です。

Addメソッド

新規で値を追加する場合にAddメソッドを使用できます。ただし、Addメソッドで既存のキーを指定した場合には、エラーが発生します。

           var dic = new Dictionary<string, string>()
            {
                ["Apple"] = "りんご",
                ["Orange"] = "オレンジ"
            };

            dic.Add("Strawberry", "いちご"); //新規で追加
            dic.Add("Apple", "りんご2");//キーが重複している上書きはエラー発生

            foreach (var s in dic)
            {
                Console.WriteLine(s.Value);
            }

実行するとDictionaryの初期化でキーに"Apple"を使用しているが、追加でdic.Add("Apple", "りんご2");と既存のキーを指定したので dic.Addでエラーが発生します。

ブラケット構文

2つ目はブラケット構文による方法です。ブラケット構文はAddメソッドと異なり値の上書きが可能です。

            var dic = new Dictionary<string, string>()
            {
                ["Apple"] = "りんご",
                ["Orange"] = "オレンジ"

            };
            dic["Strawberry"]="いちご";
            dic["Apple"] = "りんご2";

            foreach (var s in dic)
            {
                Console.WriteLine(s.Value);
            }