VB.NETで辞書(Dictionary)の値を取得する方法!

VB.NET VB.NET

VB.NETの辞書(Dictionary)からキー・値を取得する方法についてまとめています。
キーから値を取得する以外にも、辞書から下記のデータを取得する方法について書いています。

・キーから値を取得する
・すべてのキーと値
・すべてのキー
・すべての値
・辞書の要素数

辞書で値を取得する方法

辞書では、キーを指定することで、キーに対応した値を取得できます。
以下のコードは、キーを使用して値を取得する方法です。

Dim fruits As New Dictionary(Of String, String)
fruits.Add("red", "apple")
fruits.Add("blue", "grape")
fruits.Add("yellow", "banana")

Dim fruit As String = fruits("blue")
Console.WriteLine(fruit) ' grape

最初にfruits変数に対して、Dictionaryキーワードを使って、辞書型の変数を作りました。
丸括弧の中に指定しているのが、キーと値の型になります。

Ofの後に指定しているのがキーで、カンマで区切って値の型を指定します。
今回はどちらもStringなので、キーも値も文字列です。

そのあとの処理でAddメソッドを呼び出して、辞書に3つのキーと値を追加しています。
そして、fruits辞書に対して、丸括弧で「fruits("blue")」としています。

これで辞書の指定したキーに対応する値、「grape」が取得できます。
最後に値を出力すると、「grape」が出力されました。

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

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

以下のコードはループして、全てのキーと値を出力しています。

Dim fruits As New Dictionary(Of String, String)
fruits.Add("red", "apple")
fruits.Add("pink", "peach")
fruits.Add("blue", "grape")
fruits.Add("green", "melon")
fruits.Add("yellow", "banana")

For Each fruit In fruits
    Console.WriteLine("キー:" & fruit.Key & " 値:" & fruit.Value)
Next

最初のコードと同じように、fruits変数にキーが文字列で値も文字列の辞書を作成しました。
次の行から、5つの値とキーを追加しました。

そしてFor Eachキーワードを使用して、全てのキーと値を出力しています。
For EachInの右側にfruits辞書を指定して、左側のfruit変数にキーと値にアクセスできるオブジェクト(KeyValuePair)が毎回設定されます。

出力を確認すると、下記のように全てのキーとを値が確認できました。

キー:red 値:apple
キー:pink 値:peach
キー:blue 値:grape
キー:green 値:melon
キー:yellow 値:banana

辞書の全てのキーを取得する

辞書のキーだけを取得したいときは、辞書からKeysにアクセスすると良いです。
下記のコードでは辞書のKeysにアクセスして、キーのみを取得しています。

Dim fruits As New Dictionary(Of String, String)
fruits.Add("pink", "peach")
fruits.Add("green", "melon")
fruits.Add("yellow", "banana")

For Each color In fruits.Keys
    Console.WriteLine(color)
Next

fruits辞書を作成し、3つのキーと値を入れました。
For Eachループの右の方で、fruits辞書のKeysプロパティにアクセスしています。

color変数には、キーの値がループ毎に取得できます。
出力すると、下記のようにキーがすべて取得できました。

pink
green
yellow

辞書の全ての値を取得する

辞書のキーだけを取得したいときは、辞書からValuesにアクセスすると良いです。
Keysと同様に、Valuesにアクセスすることで、値のみ全て取得できます。

Dim fruits As New Dictionary(Of String, String)
fruits.Add("pink", "peach")
fruits.Add("green", "melon")
fruits.Add("yellow", "banana")

For Each fruit In fruits.Values
    Console.WriteLine(fruit)
Next

先ほどと同じ、fruits辞書を用意しています。

そして、For Eachループでfruits.Valuesを指定しました。
これで、ループ毎にfruit変数に値のみ取得できます。

出力すると、下記のように値のみ出力されました。

peach
melon
banana

辞書の要素数を取得する

作成した辞書からCountメソッドを呼び出すと、辞書の要素数を取得することができます。
下記の例で、作成した辞書の要素数を取得して、出力しました。

Dim fruits As New Dictionary(Of String, String)
fruits.Add("pink", "peach")
fruits.Add("green", "melon")
fruits.Add("yellow", "banana")

Dim fruitCount As Integer = fruits.Count()
Console.WriteLine(fruitCount) ' 3

fruits辞書を作成して、3つのキーと値を追加しました。
そのあとに、fruits辞書からCountメソッドを呼び出して、要素数を取得しています。

出力すると、要素数の「3」が出力されました。

辞書の値を取得する方法のまとめ

今回はVB.NETの辞書の値を取得する方法について書きました。
記事の内容をまとめると、下記のようになります。

・辞書オブジェクトからキーを指定することで値を取得できた。
・辞書オブジェクトをFor Eachでループすることで、全てのキーと値を取得できた。
・辞書オブジェクトからKeysプロパティにアクセスすると、キーのみを取得できた。
・辞書オブジェクトからValuesプロパティにアクセスすると、値のみを取得できた。
・辞書オブジェクトからCountメソッドを呼び出すと要素数を取得できた。

コメント

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