[VB.NET]Optionalでパラメータを省略可能にする

2021年9月30日

構文
Sub name(ByVal parameter1 As datatype1, Optional ByVal parameter2 As datatype2 = defaultvalue)
プロシージャのパラメーターを省略可能にすると、呼び出し時に引数を指定する必要がなくなります。
1.プロシージャ定義のすべての省略可能なパラメーターについて、既定値を指定する必要があります。
2.省略可能なパラメーターの既定値には、定数式を指定する必要があります。
3.プロシージャ定義で省略可能なパラメーターの後に続くパラメーターは、すべて省略可能であることが必要です。
使用例

Module Module1

    Sub Main()

        Dim username, addr As String
        username = "yamada"
        addr = "tokyo"

        Console.WriteLine("Optionalを使ってパラメータを省略")
        'パラメータaddrを省略
        testfunc(username)

        Console.WriteLine("パラメータを省略しない結果")
        'パラメータaddrを省略しない
        testfunc(username, addr)

        Console.ReadKey()

    End Sub

    ' プロシージャ―  Optionalキーワードを使用する
    Sub testfunc(ByVal username As String, Optional ByVal addr As String = "yokohama")

        Console.WriteLine("username= " + username.ToString())
        Console.WriteLine("addr= " + addr.ToString())

    End Sub

End Module

実行結果
Optionalを使ってパラメータを省略
username= yamada
addr= yokohama
パラメータを省略しない結果
username= yamada
addr= tokyo

VB.net

Posted by arkgame