一意のキーと値のペアで管理される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); }