作为一个初学者,我的问题是如果一个数组是按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
以上是我的代码,很简单,输出是 10,100,0,22 有人可以给点小费吗?