作为初学者,我的问题是如果数组通过val传递,参数到底得到什么?我知道数组是一种引用类型。我的猜测是,数组参数 byval (从参数中保存数组)应该获取参数保存的引用的副本,因此,一旦子ArrayProcByRef更改了数组参数中的元素,参数也应该更改。
Sub Main() Handles MyBase.Load
Dim Array1(10) As Integer
Dim Array2(10) As Integer
ArrayProcByRef(Array1, Array2)
Console.WriteLine(UBound(Array1))
Console.WriteLine(UBound(Array2))
Console.WriteLine(Array1(2))
Console.WriteLine(Array2(2))
End Sub
Sub ArrayProcByRef(ByVal arr1() As Integer, ByRef arr2() As Integer)
ReDim arr1(100)
ReDim arr2(100)
arr1(2) = 11
arr2(2) = 22
End Sub
Run Code Online (Sandbox Code Playgroud)
上面是我的代码,很简单,输出是 10,100,0,22 任何人都可以提供提示吗?