C#でDictionaryを配列やリストなどと同じようにforeachで各要素を取得する方法をご紹介します。DictionaryのKeyやValueをforeachで取得するにはKeyValuePair構造体を使用します。KeyValuePair構造体をforeachのループ変数に使用することで、Dictionaryの要素数分ループし各ループで要素のKeyとValueが取得可能です。
使用した環境
- Windows 10 Pro 1903 (build 18362.592)
- Microsoft Visual Studio Community 2019 Version 16.4.2
- .Net Framework 4.6.1
サンプルコード
Dictionary<string, double> dic = new Dictionary<string, double>(); dic.add("りんご", 3.4); dic.add("みかん", 5.2); dic.add("焼肉", 8.8); foreach(KeyValuePair<string, double> kvp in dic) { Console.WriteLine(kvp.Key); // キー(string) Console.WriteLine(kvp.Value); // 値(double) }
実行結果
りんご 3.4 みかん 5.2 焼肉 8.8
参考:
Dictionary クラス
https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.dictionary-2?view=net-5.0
KeyValuePair 構造体
https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.keyvaluepair-2?view=net-5.0
コメント