当前位置 : 主页 > 编程语言 > c语言 >

vb.net – 通过函数传递二维数组

来源:互联网 收集:自由互联 发布时间:2021-06-24
我有通过函数传递二维数组的有趣情况. 数组在表单的级别范围内声明: 我尝试从VB6重写我的代码的一部分,我有可行的例子. Dim myArray(,) As Double 然后我得到一个sub,其中数组被重新编号
我有通过函数传递二维数组的有趣情况.
数组在表单的级别范围内声明:
我尝试从VB6重写我的代码的一部分,我有可行的例子.

Dim myArray(,) As Double

然后我得到一个sub,其中数组被重新编号并根据数据填充,类似这样的符号情况:

Public Sub mySub(ByVal myArray(,) As Double)

    Dim temparray() As Double = {3, 5, 7, 9}
    For a As Double = 0 temparray.length - 1
         ReDim Preserve myarray(2, temparray(a))
    Next a

    myArray(1, 5) = 3.14
    ... etc...
End Sub

最后,我想填充和读取其他子数组中的数据:

mySub(myArray)
Debug.Print(myArray(1, 5))

在这里我收到错误消息:

Object reference not set to an instance of an object.

mySub中的数据已正确填充但我在调用sub时看不到这些数据.
我做错了什么,如何让这个场景有效?

你可以通过这样做来解决它:

Public Sub mySub(ByRef myArray(,) As Double)
    '...
End Sub

您需要引用变量才能在Sub之外进行更改.

网友评论