一个简单的二维数组有关问题(苦恼)
一个简单的二维数组问题(苦恼)
如题
想将xmlnodelist 里边的数据放到一个二维数组中
代码如下
Public Shared Function Gethosts() As String(,)
Dim doc As XmlDocument = New XmlDocument()
doc.Load("Configuration.xml")
Dim hostNodes As XmlNodeList = doc.SelectNodes("Nodes/node")
Dim hosts(hostNodes.Count-1, 2) As String
For i = 1 To hostNodes.Count
hosts(i, 0) = hostNodes.ItemOf(i).Attributes("host").InnerText
hosts(i, 1) = hostNodes.ItemOf(i).Attributes("UserName").InnerText
hosts(i, 2) = hostNodes.ItemOf(i).Attributes("pwd").InnerText
Next
Return hosts
End Function
按说 Dim hosts(hostNodes.Count-1, 2) As String
这句 **** 里说 Dim hosts(a, b) As String
可我弄出的 二维数组维度总是多一个 比如
Dim hosts(2, 3) As String
本来 最后 hosts.lengh 应该是6 rank 应该是2
但我得到的总是 hosts.lengh 是 12 rank 是3
请高手解答!!!
------解决方案--------------------
For i = 1 To hostNodes.Count,数组下标应该是从0开始吧
For i = 0 To hostNodes.Count-1
------解决方案--------------------
Dim hosts(hostNodes.Count-1, 2)
为什么能
hosts(i, 2) = hostNodes.ItemOf(i).Attributes("pwd").InnerText
这句不会出错吗?
For i = 1 To hostNodes.Count,数组下标应该是从0开始吧
For i = 0 To hostNodes.Count-1
楼上也说的对
------解决方案--------------------
vb定义数组时里面的数字是索引上限的值而不是元素数量
Dim a(2,3) As String
表示第一维索引是0-2,第二维索引是0-3,长度当然就是3*4=12,你认为长度应该为6是不对的。
至于rank,这个rank就应该是2,不知道你为什么会得到3.
如题
想将xmlnodelist 里边的数据放到一个二维数组中
代码如下
Public Shared Function Gethosts() As String(,)
Dim doc As XmlDocument = New XmlDocument()
doc.Load("Configuration.xml")
Dim hostNodes As XmlNodeList = doc.SelectNodes("Nodes/node")
Dim hosts(hostNodes.Count-1, 2) As String
For i = 1 To hostNodes.Count
hosts(i, 0) = hostNodes.ItemOf(i).Attributes("host").InnerText
hosts(i, 1) = hostNodes.ItemOf(i).Attributes("UserName").InnerText
hosts(i, 2) = hostNodes.ItemOf(i).Attributes("pwd").InnerText
Next
Return hosts
End Function
按说 Dim hosts(hostNodes.Count-1, 2) As String
这句 **** 里说 Dim hosts(a, b) As String
可我弄出的 二维数组维度总是多一个 比如
Dim hosts(2, 3) As String
本来 最后 hosts.lengh 应该是6 rank 应该是2
但我得到的总是 hosts.lengh 是 12 rank 是3
请高手解答!!!
------解决方案--------------------
For i = 1 To hostNodes.Count,数组下标应该是从0开始吧
For i = 0 To hostNodes.Count-1
------解决方案--------------------
Dim hosts(hostNodes.Count-1, 2)
为什么能
hosts(i, 2) = hostNodes.ItemOf(i).Attributes("pwd").InnerText
这句不会出错吗?
For i = 1 To hostNodes.Count,数组下标应该是从0开始吧
For i = 0 To hostNodes.Count-1
楼上也说的对
------解决方案--------------------
vb定义数组时里面的数字是索引上限的值而不是元素数量
Dim a(2,3) As String
表示第一维索引是0-2,第二维索引是0-3,长度当然就是3*4=12,你认为长度应该为6是不对的。
至于rank,这个rank就应该是2,不知道你为什么会得到3.