【vb.net】 引数を省略可能にするOptinal

vb.netで、任意の引数として扱う方法を紹介します。

デフォルト値が設定できるので、非常に便利です!



デフォルト値のある引数

引数の宣言にOptinalを付け、デフォルト値を設定します。

メソッドを呼び出す際に任意の引数として扱えます。

 

サンプルコード

Sub ArgTest1(Optional str1 As String = "str1 Defalt")
    Console.WriteLine("str1 :" + str1)
End Sub

Sub Main(args As String())
    ArgTest1()
    ArgTest1("abc")
End Sub

 

実行結果:

str1 :str1 Defalt
str1 :abc

 

解説

ArgTest1では引数のstr1にOptinalを設定しています。

引数がある場合は、受け取った引数を設定しますが
ない場合は、デフォルトの値が設定されます。

 

オプション引数
上のサンプル、ArgTest1()のように
デフォルト値を持っていて、呼び出す際には省略可能な引数のことを
「オプション引数」と呼びます。

 

複数の引数がある場合

複数の引数がある場合には、Optinalが混在しても大丈夫です。

 

Sub ArgTest2(str1 As String,
             Optional str2 As String = "Defalt1",
             Optional str3 As String = "Defalt2")
    Console.WriteLine("str1:" + str1)
    Console.WriteLine("str2:" + str2)
    Console.WriteLine("str3:" + str3)
End Sub

Sub Main(args As String())
    ArgTest2("abc")
End Sub

 

実行結果:

str1:abc
str2:Defalt1
str3:Defalt2

 

途中の引数を省略したい場合

呼び出す際に、途中の引数を省略するときは

カンマだけを書き、次の引数を続けてOKです。

Sub ArgTest2(str1 As String,
             Optional str2 As String = "Defalt1",
             Optional str3 As String = "Defalt2")
    Console.WriteLine("str1:" + str1)
    Console.WriteLine("str2:" + str2)
    Console.WriteLine("str3:" + str3)
End Sub

Sub Main(args As String())
    ArgTest2("abc",, "def")
End Sub

 

実行結果:

str1:abc
str2:Defalt1
str3:def

 

最後に

今回はvb.netで引数を省略可能にする方法を紹介しました。

 

新米太郎
新米太郎

お読み頂きありがとうございました!




コメント

タイトルとURLをコピーしました