vb.net - 在vb.net中构建多维数组

标签 vb.net multidimensional-array while-loop

我正在尝试建立一个多维数组,该数组将为数据库中的每个记录保存两位信息,例如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 ClassDictionary 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/

相关文章:

asp.net - 网页永远不会完成异步加载

vb.net - 是否需要在每台运行我的程序的计算机上安装 OpenXML SDK?

c - 将动态多维数组的元素传递给函数

c# - 定时器与 While 循环——内存使用

c - 为什么“while(!feof(file))”总是错误的?

c# - 用于在匹配引号之间选择数据的正则表达式模式

vb.net - 抛出异常后如何继续运行代码?

c++ - 向对象数组添加值 C++

javascript - 使用映射返回多维数组中的第一个索引

azure - ELSE 返回到 Azure 数据工厂中的 IF-ELSE 语句(While True)之前