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で引数を省略可能にする方法を紹介しました。

新米太郎
お読み頂きありがとうございました!
コメント