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。次のようにしてみてください。

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 に答える