在Visual Basic中,按值傳遞方式透過關鍵字 ByVal (By Value)來實現。也就是說,在定義通用過程時,如果形參前面有關鍵字ByVal,則該引數用傳值方式傳送,否則即以引用(即按地址)方式傳遞。
例如:
Dim s = 1
Private Sub Form_Load()
Debug.print increment(s)
Debug.print s
End Sub
Private Function increment(ByVal x As Integer)
x=x+1
Debug.print x
End Function
輸出結果:
2
1
這裡的形參x前有關鍵字ByVal,呼叫時以按值方式傳遞實參。
也就是說,外部的變數數值不會因為它的數值的改變而改變。
與之相對應的則為ByRef關鍵字。
使用 ByRef 關鍵字時,引數的傳遞方式就是按地址傳遞。
注意:
1.按值傳遞方式只能用於外部向被呼叫過程內部傳遞資料。
2.按地址傳遞方式可以實現資料的雙向傳遞。
在Visual Basic中,按值傳遞方式透過關鍵字 ByVal (By Value)來實現。也就是說,在定義通用過程時,如果形參前面有關鍵字ByVal,則該引數用傳值方式傳送,否則即以引用(即按地址)方式傳遞。
例如:
Dim s = 1
Private Sub Form_Load()
Debug.print increment(s)
Debug.print s
End Sub
Private Function increment(ByVal x As Integer)
x=x+1
Debug.print x
End Function
輸出結果:
2
1
這裡的形參x前有關鍵字ByVal,呼叫時以按值方式傳遞實參。
也就是說,外部的變數數值不會因為它的數值的改變而改變。
與之相對應的則為ByRef關鍵字。
使用 ByRef 關鍵字時,引數的傳遞方式就是按地址傳遞。
注意:
1.按值傳遞方式只能用於外部向被呼叫過程內部傳遞資料。
2.按地址傳遞方式可以實現資料的雙向傳遞。