Byval 和 ByRef 使用

Byval 和 ByRef 使用

byval 单单传参数.
byref 如果定义了一个参数指向它,他会那值传回来.
说得不是很清楚!

在 Visual Basic 中,可以通过分别指定关键字 ByValByRef,“通过值”或“通过引用”将参数传递给过程。通过值传递参数意味着过程不能在呼叫代码中修改参数的基础变量元素的内容。通过引用传递允许过程以呼叫代码本身可以使用的相同方法来修改变量元素的内容。

通过值和通过引用传递参数之间的差别与将数据类型分为值类型和引用类型不同。但是,两种类别确实相互影响。

如果使用关键字 ByRef 通过引用传递变量参数,则过程能够修改变量本身。具体说来,如果参数为对象变量,则可以给它分配新的对象。这种重新分配也会影响到调用程序中的对象变量。

传递 ByVal 的参数所提供的示例中,如果 Replace 子例程改为通过引用获取参数数组,则新数组 K() 将会分配给呼叫代码中的数组变量 N。N() 的结果将会是如下所示:

MsgBox("After Replace(N) taking A() argument ByRef: " & _

              CStr(N(0)) & CStr(N(1)) & CStr(N(2)) & CStr(N(3)))

' The element values of N() are now 101, 201, and 301. Because N was 

' passed ByRef, Replace could modify the variable N and assign a new 

' array to it. Because N is a reference type, Replace could also change 

' its members

你可能感兴趣的:(val)