メソッドに省略可能な引数を定義する方法です。
省略可能引数を使うと、メソッドの引数を省略することができるようになります。
(※ VB.NETだと Optional引数(オプション引数)などと呼ばれます)
サンプル
例)省略可能引数でメソッドを呼び出す。
例として、以下のメソッドを呼び出してみます。
//引数1 + 引数2の結果を返すメソッド(第2引数のデフォルト値は10。)
public int plus(int valA, int valB = 10)
{
return valA + valB;
}
普通に呼び出した場合と、省略可能引数で呼び出した場合の比較です。
//普通に呼び出した場合
int ans1 = plus(5, 2);
//名前付き引数で呼び出した場合
int ans2 = plus(5);
結果
ans1 → 7
ans2 → 15
引数を省略した場合、指定したデフォルト値が採用されます。
備考
- 省略可能引数にするには、メソッドの引数を定義する時にデフォルト値を指定します。
(デフォルト値を指定した引数が省略可能となります。) - 省略可能引数に指定した引数の後ろに、通常の引数は指定できません。
(例)
method(通常引数, 省略可能引数) → ○
method(省略可能引数, 省略可能引数) → ○
method(通常引数, 省略可能引数, 省略可能引数) → ○
method(通常引数, 省略可能引数, 通常引数) → ×
method(省略可能引数, 省略可能引数, 通常引数) → × - 省略可能引数だとしても、引数の先頭や途中のみ省略することはできません。
(例)method(省略可能引数, 省略可能引数, 省略可能引数)
↑このような定義だった場合、
method(1, 2, 3); ←この呼出し方はOKですが、
method(, , 3);、method(1, , 3); ←この呼出し方はNGです。