迭代VB .Net中的集合(就像它是一个关联数组!)

Mik*_* L. 2 .net vb.net collections loops

除非必须,否则我不会使用.Net,对于这个项目,我必须这样做.我喜欢做的事情的PHP的方式,但是,似乎我坚持使用CollectionObject的存储/检索我需要的数据.我已经Collection加载了我Objects的和代码来迭代整个集合,我的问题是我无法检索"密钥",因为它将在PHP中调用(我相信在这种情况下它实际上是对象的名称).请考虑以下示例:

            Dim xDoc As XPathDocument = New XPathDocument(fName)
            Dim xNav As XPathNavigator = xDoc.CreateNavigator()

            Dim sender As XPathNodeIterator
            sender = xNav.Select("/data/sender/val")
            While (sender.MoveNext())
                SenderInfo.Add(sender.Current.GetAttribute("n", ""), sender.Current.Value)
            End While

            For Each item As Object In SenderInfo
                Dim value As String = item.ToString()
                //need to store the key here
                Dim key As String = Nothing
            Next
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在浏览XML文档,并Object使用一些键/值对创建.如果它在JSON中,它将看起来像这样:

{"name":"John Smith","address1":"123 Anywhere St.","city":"This City","state":"FL"}
Run Code Online (Sandbox Code Playgroud)

当我迭代Collection时我只能得到对象的值,但是我需要Key,在这个例子中我希望"name","address1","city","state"存储在每个迭代的变量中.

有任何想法吗?或者我是以错误的方式来做这件事的?

在此先感谢您的帮助,我真的被困在这一个!

dar*_*mos 5

SenderInfo应该是一个Dictionary<String,String>.下面是文档和示例代码,包括VB.NET.