如果这是我的字典,如何获取字典数组中的每个值。
rebDictionary= New Dictionary(Of String, String())
rebDictionary.Add("wrd", {"yap", "tap"})
我试过For Each rtbval As String In rebDictionary.value
但这根本不起作用
答案 0 :(得分:3)
值集合属性名为Values
,请尝试以下操作:
For Each rtbval As String() In rebDictionary.Values
但是,你要迭代String()
的集合,因为你的字典是Of(String, String())
。
您可以遍历键(String
):rebDictionary.Keys
或使用LINQ SelectMany
来迭代从您的词典Values
中取出的字符串列表:
For Each rtbval as String In rebDictionary.Values.SelectMany(Function(x) x)
答案 1 :(得分:1)
以下代码遍历所有键和值。您可以选择您想要/不想要的任何部分:
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
但是,做其中任何一个可能都没有那么有用,因为你不知道相应的键或值,我怀疑迭代键值对可能会慢很多。