如果这是我的字典,我该如何获取字典数组中的每个值。
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 集合属性名为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
但是做这些可能不如你不知道相应的键或值有用,而且我怀疑遍历键值对可能会慢得多。