C#の辞書(Dictionary)から「キーと値」を取得する方法について書いています。
辞書から、”値”を取得したい場合は”キー”を辞書に指定することにより取得することができます。
他にも辞書から下記のデータを取得する方法について書いています。
・すべてのキー
・すべての値
・辞書の要素数
載せているコードについては、.Netのバージョン6(C#のバージョン10)で確認しました。
辞書で値を取得する方法
辞書(Dictionary)で値を取得するには、辞書に対して配列のようにアクセスします。
例えば、下記のように値を取得することができます。
var fruits = new Dictionary<string, int>();
fruits.Add("apple", 110);
fruits.Add("banana", 140);
fruits.Add("grape", 130);
var bananaPrice = fruits["banana"];
Console.WriteLine(bananaPrice); // 140
最初にfruits
変数に対して、新しく辞書のオブジェクトを作成しています。
次の行からAddメソッドを使って、3つの「キーと値」を追加しました。
そして「fruits["banana"]
」のように、fruits変数の辞書に配列のようにアクセスして、値を取得しています。
banana
をキーにして、設定した値の「140
」が取得できます。
bananaPrice
に値を代入して出力すると、140
になっていることが確認できました。
辞書の全てのキーと値を取得
作成した辞書をループすることで、辞書のキーと値を全て取得することができます。
ループ毎にセットされる変数から、Key
やValue
のプロパティにアクセスすると良いです。
例えば、下記のように取得することができます。
var drinks = new Dictionary<string, int>();
drinks.Add("milk", 130);
drinks.Add("cola", 155);
drinks.Add("water", 110);
drinks.Add("wine", 230);
foreach (var drink in drinks) {
Console.WriteLine($"{drink.Key}は{drink.Value}円です。");
}
drinks
変数に対して、辞書オブジェクトを作成しました。
次の行からAddメソッドで、4つの「キーと値」を追加しています。
foreach文で、辞書をループして処理しています。
drink
変数にはループ毎に辞書のオブジェクトが設定されます。
その後にdrink
変数のKey
とValue
プロパティにアクセスして値を取得しています。
Key
で辞書のキー、Value
で辞書の値が取得できます。
下記のように出力されたことが確認できました。
milkは130円です。
colaは155円です。
waterは110円です。
wineは230円です。
辞書の全てのキーを取得する
辞書のキーだけを取得したいときは、Keysを使います。
例えば、下記のようにキーだけ取得することができます。
var drinks = new Dictionary<string, int>();
drinks.Add("milk", 130);
drinks.Add("cola", 155);
drinks.Add("water", 110);
drinks.Add("wine", 230);
foreach (var key in drinks.Keys) {
Console.WriteLine($"{key}");
}
先ほどと同じように、drinks
変数に辞書を作って、4つのキーと値を代入しました。
次にforeachでループしていますが、ループする元にdrinks.Keys
としています。
これで、キーのみを取得することができます。
出力すると、下記のようになりました。
milk
cola
water
wine
辞書の全ての値を取得する
辞書の値だけを取得したいときは、Valuesを使います。
例えば、下記のように値だけ取得することができます。
var drinks = new Dictionary<string, int>();
drinks.Add("milk", 130);
drinks.Add("cola", 155);
drinks.Add("water", 110);
drinks.Add("wine", 230);
foreach (var value in drinks.Values) {
Console.WriteLine($"{value}");
}
同様にしてdrinks
変数に辞書を作って、4つのキーと値を代入しました。
次にforeachでループしていますが、ループする元にdrinks.Values
としています。
これで、値のみを取得することができます。
出力すると、下記のようになりました。
130
155
110
230
辞書の要素数を取得する
辞書の要素数を取得したいときは、Countメソッドを使います。
var fruits = new Dictionary<string, int>();
fruits.Add("apple", 110);
fruits.Add("banana", 140);
fruits.Add("grape", 130);
var fruitCount = fruits.Count();
Console.WriteLine(fruitCount);
fruits
変数に辞書のオブジェクトを作成しています。
その後にAddメソッドを使って、「キーと値」を3つ追加しました。
次の処理で、fruits
変数からCountメソッドを呼び出しています。
これで要素数が取得できます。
fruitCount
変数で、要素数を受け取って出力すると「3
」が出力されました。
辞書の値を取得する方法のまとめ
今回はC#の辞書の値を取得する方法について書きました。
記事の内容をまとめると、下記のようになります。
・辞書オブジェクトをループすることで、全ての「キーと値」が確認できた。
・辞書オブジェクトからKeysを使うことで、キーだけをループして取得できた。
・辞書オブジェクトからValuesを使うことで、値だけをループして取得できた。
・辞書オブジェクトからCountメソッドを使うことで、要素数が確認できた。
コメント