C#で辞書(Dictionary)の値を取得する方法!

C# C#

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になっていることが確認できました。

辞書の全てのキーと値を取得

作成した辞書をループすることで、辞書のキーと値を全て取得することができます。
ループ毎にセットされる変数から、KeyValueのプロパティにアクセスすると良いです。

例えば、下記のように取得することができます。

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変数のKeyValueプロパティにアクセスして値を取得しています。
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メソッドを使うことで、要素数が確認できた。

コメント

タイトルとURLをコピーしました