提问人:Cinverse 提问时间:7/26/2023 最后编辑:Olivier Jacot-DescombesCinverse 更新时间:7/27/2023 访问量:47
如何在 VB 中将 array(5,5) 的 array(1) 元素传递给函数
how to pass array(1) element of array(5,5) to a function in VB
问:
Private Sub fun1()
Dim array(5,5) As Integer
someinit(array)
For I As Integer = 0 To 4
Function (array(I))
Next
End Sub
我想将数组 array(0)、array(1) 等传递给 Function()。但是出现错误:
索引数小于索引数组的维度数
帮助
答:
3赞
Olivier Jacot-Descombes
7/26/2023
#1
在 VB 中,有两种方法可以定义二维数组:
- 多维数组:
Dim matrix(5, 5) As Integer
- 锯齿状数组,即数组的数组:
Dim jagged As Integer()()
术语“锯齿状”来自每个子阵列可以具有不同长度的事实。创建数组时,只能指定第一个维度。必须为主数组的每个位置单独创建子数组。
Dim jagged As Integer()() = New Integer(5)() {}
jagged(0) = New Integer(5) {}
jagged(1) = New Integer(5) {}
...
只有在第二种情况下,您才能通过指定一个索引来选择一维数组。对于多维数组,必须始终指定两个索引,并且结果始终是一个“单元格”(在本例中为 an)。Integer
现在是一个一维数组,你可以传递给你的函数。jagged(i)
解决此问题的另一种方法是使用二维多维数组,并将整个数组加上行号传递给函数。然后,让函数遍历此行的列。
另请注意,在 VB 中,创建数组时指定最高索引,而不是数组的大小。即,是一个 6 x 6 矩阵,而不是 5 x 5 矩阵!Dim array(5,5) as Integer
另请参阅:
评论