DictionaryのKey追加の記述は、C#のバージョン(.Net Framework のバージョン)により異なります。現在稼働中のPCで使うプログラムであれば、1行で書く方法で良いと思います。
C# 6.0以降(.NET Framework 4.6以降)
以下の1行の記述でOK。
myDictionary[key] = value;
この行は、key
がディクショナリに既に存在する場合はその値を更新し、存在しない場合は新しい要素を追加します。この書き方を使えば、条件分岐や複数行のコードを書くことなく、要素の存在に応じて適切に処理できます。
C#覚えたころは、こんな簡単に書けませんでした。便利になりましたね。
なお昔は下記のようにif文が必要でした。
C# 6.0より古い(.NET Framework 4.6より古い)
C#の古いバージョンでは下記のように書く必要があります。既に存在しているキーをAddメソッドで追加しようとすると例外が発生したり面倒でした。もうこの時代には戻りたくない!
if (myDictionary.ContainsKey(key))
{
myDictionary[key] = value;
}
else
{
myDictionary.Add(key, value);
}
Windowsのバージョンと.Net Frameworkの関係
Windows 10には標準で.NET Frameworkがインストールされています。ただし、具体的な.NET FrameworkのバージョンはWindows 10のリリースバージョンによって異なります。
以下は、Windows 10のリリースとそれに対応する.NET Frameworkのバージョンです:
- Windows 10 v1507 (初期のバージョン): .NET Framework 4.6
- Windows 10 v1511 (November Update): .NET Framework 4.6.1
- Windows 10 v1607 (Anniversary Update): .NET Framework 4.6.2
- Windows 10 v1703 (Creators Update): .NET Framework 4.7
まとめ
本記事では、Dictionaryに一致するkeyがあれば内容を更新、無ければkey追加を簡単に書く方法を紹介しました。