「VB.NET」ByRefでメソッドの引数に参照渡しを使用する

2021年9月17日

書式
メソッド名(ByRef 変数名)
1.参照渡しは、メソッドを呼び出す時にアドレスをコピーして渡す。
2.メソッドの中で値が変更すると元の値も変更される。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Module Module1
Sub Main()
Dim age As Integer = 23
Dim de As Double = 34.56
'メソッドfuncAを呼び出す 変数名ageを参照渡す
funcA(age)
Console.WriteLine("ByRefで元の値を変更")
Console.WriteLine(age)
'メソッドfuncAを呼び出す 変数名deを参照渡す
funcA(de)
Console.WriteLine("ByRefで元の値を変更")
Console.WriteLine(de)
Console.ReadKey()
End Sub
'メソッドfuncA ByRefキーワードで変数名を参照
Sub funcA(ByRef nn)
nn = nn - 2
Console.WriteLine(nn)
End Sub
End Module
Module Module1 Sub Main() Dim age As Integer = 23 Dim de As Double = 34.56 'メソッドfuncAを呼び出す 変数名ageを参照渡す funcA(age) Console.WriteLine("ByRefで元の値を変更") Console.WriteLine(age) 'メソッドfuncAを呼び出す 変数名deを参照渡す funcA(de) Console.WriteLine("ByRefで元の値を変更") Console.WriteLine(de) Console.ReadKey() End Sub 'メソッドfuncA ByRefキーワードで変数名を参照 Sub funcA(ByRef nn) nn = nn - 2 Console.WriteLine(nn) End Sub End Module
Module Module1

    Sub Main()
        Dim age As Integer = 23
        Dim de As Double = 34.56

        'メソッドfuncAを呼び出す 変数名ageを参照渡す
        funcA(age)
        Console.WriteLine("ByRefで元の値を変更")
        Console.WriteLine(age)

        'メソッドfuncAを呼び出す 変数名deを参照渡す
        funcA(de)
        Console.WriteLine("ByRefで元の値を変更")
        Console.WriteLine(de)

        Console.ReadKey()

    End Sub

    'メソッドfuncA ByRefキーワードで変数名を参照
    Sub funcA(ByRef nn)
        nn = nn - 2
        Console.WriteLine(nn)
    End Sub
End Module

結果
21
ByRefで元の値を変更
21
32.56
ByRefで元の値を変更
32.56

VB.net

Posted by arkgame