Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

C# Dictionaryで同じキーの要素を上書きする方法

C# の Dictionary で、重複するキーの要素を上書きする方法を書いていきます。

上書きする方法

添え字を使って、イコールで代入すると上書きできました。

Dictionary<string, string> dic = new Dictionary<string, string>();
var key = "あ";
dic[key] = "a";
dic[key] = "A";  // OK(キー="あ", 値="A" になります)

Addメソッドの場合(例外発生)

Addメソッドを使う方法だと、

Dictionary<string, string> dic = new Dictionary<string, string>();
var key = "あ";
dic.Add(key, "a");
dic.Add(key, "A");  // 例外発生

例外 ArgumentException が発生しました。

System.ArgumentException: 'An item with the same key has already been added. Key: あ'

キーの重複を許可しない場合は、Addメソッドが良いと思いました。