Visual Studio Visual Basic:访问字典集合



我在表单的OnLoad事件子中预定义了几个字典(带有KeyPairValue元素)。然后我将每个字典添加到方法之外定义的集合中,以便它可以在表单的子例程之间访问。到目前为止一切顺利。

我想使用这个对象来创建字符串数组,作为几个不同的组合框的数据源。为了做到这一点,我想检索之前分配给这个集合中的字典元素的键名。我想通过循环遍历集合内特定字典的元素并检索键名来实现这一点。但是,我无法确切地弄清楚如何检索密钥名。下面是我正在尝试的:

Collection.Item("Dictionary1")(柜台)。key

我想要得到的是,有一个字典的集合("Dictionary1","Dictionar2"等),我可以按名字查找。一旦选择了字典,我想循环遍历KeyValuePairs并检索键名。但是,我还想将每个键名添加为String数组的成员,这样我就可以将该String数组指定为comboBox的数据源。

请告诉我如何在不创建For之外的计数器的情况下做到这一点。循环。

谢谢

您应该能够按照这些行做一些事情:

    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

试试这个

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()

您应该能够这样做:

  Dim DictCol As New List(Of Dictionary(Of T, T)) 'this is collection of Dictionaries as a list
  Dim Keyes As New List(Of T) 'will store keys in here
  For Each dict In DictCol
    For Each pair In dict
       Keyes.Add(pair.Key)
    Next
  Next

这段代码的问题是它没有标识每个键属于哪个字典。但是,如果将键保存在数组列表中,其中每个元素都有键和字典的名称,则可以解决该问题。

相关内容

  • 没有找到相关文章

最新更新