抱歉,我是.Net的新手,似乎vb.net在处理数组方面有所不同。 例如,我有一个“a”2D数组,我想将第一个索引“a”赋给变量“b”。
这是我编码的方式:
Dim a(,) As Integer = {{0, 0}, {1, 2}, {2, 4}, {3, 6}, {4, 8}}
Dim b = a(0)
但它引发了一个错误“索引数小于索引数组的维数。”
如何解决这个问题?提前谢谢。
答案 0 :(得分:0)
就像使用2D-index {0, 0}
分配值一样,您应该使用相同的2D索引方式来获取值:
这将为您提供第一个2D索引的值:
Dim b = a(0, 0)
答案 1 :(得分:0)
您正在初始化多维数组。您可能需要一个锯齿状数组,这是一个数组,其值为数组。多维数组是具有多个维度的数组,但值是单点。
' array contents modified for example
' initializing multi-dimensional array
Dim multi(,) As Integer = {{0, 1}, {2, 3}}
' initializing jagged array
Dim jagged As Integer()() =
{
New Integer() {0, 1},
New Integer() {2, 3}
}
' retrieving value from multi-dimensional array
Dim multiFirst = multi(0, 0) ' equals 0
Dim multiSecond = multi(0, 1) ' equals 1
' retrieving value from jagged array
Dim jaggedFirst = jagged(0) ' equals an array with {0, 1}
Dim jaggedFirstFirst = jaggedFirst(0) ' equals 0
Dim jaggedFirstSecond = jaggedFirst(1) ' equals 1