「VB.NET」SubプロシージャにByRef引数を使うサンプル

2021年9月30日

説明
ByRef 呼び出し元で与えたパラメータの参照がプロシージャに渡されます。
プロシージャ内でパラメータ変数の値を上書きした場合、呼び出し元の変数の値も更新されます。
形式
Sub プロシージャ名(ByRef 引数名 As クラス名)
使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
'クラスUserの定義
Public Class User
Public age As Integer
End Class
Module Module1
Sub Main()
'プロシージャ―で生成したインスタンスの参照用
Dim user As User
user = Nothing
'Sub プロシージャを使用
testfunc(user)
' パラメータageを出力
Console.WriteLine("値: " + user.age.ToString())
Console.ReadKey()
End Sub
' プロシージャ― ByRef引数
Sub testfunc(ByRef user As User)
'インスタンスの生成
user = New User()
user.age = 30
End Sub
End Module
'クラスUserの定義 Public Class User Public age As Integer End Class Module Module1 Sub Main() 'プロシージャ―で生成したインスタンスの参照用 Dim user As User user = Nothing 'Sub プロシージャを使用 testfunc(user) ' パラメータageを出力 Console.WriteLine("値: " + user.age.ToString()) Console.ReadKey() End Sub ' プロシージャ― ByRef引数 Sub testfunc(ByRef user As User) 'インスタンスの生成 user = New User() user.age = 30 End Sub End Module
'クラスUserの定義
Public Class User
    Public age As Integer
End Class

Module Module1

    Sub Main()

        'プロシージャ―で生成したインスタンスの参照用
        Dim user As User
        user = Nothing

        'Sub プロシージャを使用
        testfunc(user)

        ' パラメータageを出力
        Console.WriteLine("値: " + user.age.ToString())

        Console.ReadKey()

    End Sub

    ' プロシージャ― ByRef引数
    Sub testfunc(ByRef user As User)
        'インスタンスの生成
        user = New User()
        user.age = 30
    End Sub

End Module

結果
値: 30

VB.net

Posted by arkgame