我正在尝试建立一个多维数组,该数组将为数据库中的每个记录保存两位信息,例如ID,说明。
这就是我目前正在做的。
Dim mArray(,) As String
Dim i As Integer = 0
While cmdReader.Read()
mArray(i,0) = cmdReader.Item("id")
mArray(i,1) = cmdReader.Item("description")
i = i + 1
End While
我这里的问题是,它不喜欢
i
中的mArray(i,0)
。有人对此有任何想法吗?这是给出的Object reference not set to an instance of an object.
错误感谢您提供的所有帮助。
纳鲁姆
最佳答案
为什么不宁愿使用List Class和Dictionary Class
您可以选择创建字典列表,同时使用键和值作为两个字符串。然后,键可以表示您的键(示例中的ID和说明,并且值可以是存储的值)。
就像是
Dim values As New List(Of Dictionary(Of String, String))()
然后在while循环中
values.Add(New Dictionary(Of String, String)() From { _
{"id", cmdReader.Item("id")} _
})
values.Add(New Dictionary(Of String, String)() From { _
{"description", cmdReader.Item("description")} _
})
然后,您可以使用foreach
For Each value As Dictionary(Of String, String) In values
Dim id As String = value("id")
Dim description As String = value("description")
Next
或为
For i As Integer = 0 To values.Count - 1
Dim value As Dictionary(Of String, String) = values(i)
Dim id As String = value("id")
Dim description As String = value("description")
Next
关于vb.net - 在vb.net中构建多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4255308/