これが私の辞書である場合、辞書配列の各値を取得するにはどうすればよいですか。
rebDictionary= New Dictionary(Of String, String())
rebDictionary.Add("wrd", {"yap", "tap"})
私は試したFor Each rtbval As String In rebDictionary.value
しかし、それはまったく機能しません
これが私の辞書である場合、辞書配列の各値を取得するにはどうすればよいですか。
rebDictionary= New Dictionary(Of String, String())
rebDictionary.Add("wrd", {"yap", "tap"})
私は試したFor Each rtbval As String In rebDictionary.value
しかし、それはまったく機能しません
値コレクション プロパティの名前は ですValues
。次のようにしてみてください。
For Each rtbval As String() In rebDictionary.Values
ただし、String()
辞書はOf(String, String())
.
キー(これはString
)を反復処理するrebDictionary.Keys
か、LINQSelectMany
を使用して、辞書から取得した文字列のフラット化リストを反復処理しますValues
。
For Each rtbval as String In rebDictionary.Values.SelectMany(Function(x) x)
次のコードは、すべてのキーと値を反復処理します。必要な/不要な部分を選択できます。
For Each kvp As KeyValuePair(Of String, String()) In rebDictionary
Debug.WriteLine("Key:" + kvp.Key)
For Each stringValue As String In kvp.Value
Debug.WriteLine(" Value:" + stringValue)
Next
Next
キーを反復処理することができます:
For Each key As String In rebDictionary.Keys
Debug.WriteLine("Key:" + key)
Next
または値を介して:
For Each value As String() In rebDictionary.Values
For Each stringValue As String In value
Debug.WriteLine("value:" + stringValue)
Next
Next
しかし、対応するキーまたは値がわからないため、これらのいずれかを実行することはおそらく有用ではありません。