0

フォームの OnLoad イベント サブルーチンで、(KeyPairValue 要素を使用して) いくつかの辞書を事前に定義しました。次に、メソッドの外部で定義されたコレクションに各辞書を追加して、フォームのサブルーチン間でアクセスできるようにしました。ここまでは順調ですね。

このオブジェクトを使用して、いくつかの異なる ComboBox の DataSource として使用する String 配列を作成したいと考えています。これを行うために、このコレクション内の辞書の要素に以前に割り当てたキー名を取得したいと考えています。コレクション内の特定の辞書の要素をループしてキー名を取得することで、これを行いたいと思います。ただし、キー名を取得する方法を正確に理解することはできません。ここに私がしようとしているものがあります:

Collection.Item("Dictionary1")(カウンター).Key

私が目指しているのは、名前で検索できる辞書 (「Dictionary1」、「Dictionar2」など) のコレクションがあることです。ディクショナリが選択されたら、KeyValuePairs をループしてキー名を取得します。しかし、各キー名を文字列配列のメンバーとして追加して、その文字列配列をコンボボックスのデータソースとして割り当てることもできます。

For.. ループの外でカウンターを作成せずにこれを行う方法を教えてください。

ありがとうございました

4

3 に答える 3

1

次の行に沿って何かを実行できるはずです。

    Dim cValues As New System.Collections.Generic.Dictionary(Of String, Integer)
    Dim cKeys As New System.Collections.Generic.List(Of String)

    For Each sKey As String In cValues.Keys
        cKeys.Add(sKey)
    Next
于 2013-01-02T18:10:32.067 に答える
0

これを試して

Dim dict As Dictionary(Of String, Integer) = Collection.Item("Dictionary1")
Dim myArray As String()
Dim list As New List(Of String)

  For Each aKey As String In dict.Keys
        list.Add(aKey)
  Next

myArray = list.ToArray()
于 2013-01-02T18:59:31.940 に答える