可変長引数
メソッド定義で、引数の数を限定しない書き方。引数は、配列として扱う。
public static void Main(string[] args) { // 3が出力される Console.WriteLine(LastNum(1, 2, 3)); // 5が出力される Console.WriteLine(LastNum(1, 2, 3, 4, 5)); } public static int LastNum(params int[] args) { return args[args.Length - 1]; }
オーバーロードのオプション引数
オーバーロードのオプション引数を使えば、メソッドの呼び出し方でデフォルト値を渡すことができる。
public static void Main(string[] args) { // 5fault3 と出力 DoSomething(5); // 5success3と出力 DoSomething(5, "success"); // 5success15と出力 DoSomething(5, "success", 15); } public static void DoSomething(int num, string message = "fault", int retryCount = 3) { Console.WriteLine(num + message + retryCount); }