0

如果这是我的字典,我该如何获取字典数组中的每个值。

        rebDictionary= New Dictionary(Of String, String())

    rebDictionary.Add("wrd", {"yap", "tap"})

我试过了For Each rtbval As String In rebDictionary.value

但这根本不起作用

4

2 回答 2

3

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)
于 2013-06-19T11:39:46.280 回答
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

但是做这些可能不如你不知道相应的键或值有用,而且我怀疑遍历键值对可能会慢得多。

于 2013-06-19T12:43:10.410 回答