「VB.NET」SubプロシージャにByVal引数を使う
構文
ByVal 呼び出し元で与えたパラメータのコピーがプロシージャに渡されます。
プロシージャ内でパラメータ変数の値を上書きしても、呼び出し元の変数の値には影響を与えません。
使用例
'クラスUserの定義 Public Class User Public age As Integer End Class Module Module1 Sub Main() 'インスタンス生成 Dim userA As New User() userA.age = 30 Console.WriteLine("値1: " + userA.age.ToString()) 'Sub プロシージャを使用 testfunc(userA) ' パラメータageを出力 Console.WriteLine("値2: " + userA.age.ToString()) Console.ReadKey() End Sub ' プロシージャ― Sub testfunc(ByVal userA As User) 'ageの値を変更 userA.age = 20 End Sub End Module
結果
値1: 30
値2: 20