導入
引数に既定値を設定すると、呼び出し時に省略できます(オプション引数)。また、どの引数に何を渡すかを名前で明示すると読みやすくなります(名前付き引数)。
図解
flowchart TB
D["定義: Send(string msg, bool urgent = false)"] --> C1["Send("hi")<br/>→ urgent は既定の false"]
D --> C2["Send("hi", urgent: true)<br/>→ 名前付きで明示"]
サンプル
// urgent には既定値 false を設定 → 省略できる
Notify("会議のお知らせ"); // urgent は false
Notify("緊急連絡", urgent: true); // 名前付きで true を指定
void Notify(string message, bool urgent = false)
{
string mark = urgent ? "【緊急】" : "";
Console.WriteLine($"{mark}{message}");
}
// 会議のお知らせ
// 【緊急】緊急連絡
引数 = 既定値とすると、その引数は省略可能(オプション引数)- 省略された場合は既定値が使われる
引数名: 値の形で名前付き引数にでき、意図が明確になる- オプション引数は通常の引数より後ろに置く
演習
// TODO: price に加えて、税率 rate を既定値 0.1 のオプション引数として受け取り、
// 税込価格を返す WithTax メソッドを定義してください。
// WithTax(1000) の結果を "1100" と出力してください
___
- 期待される出力:
1100
ヒント1を見る
int WithTax(int price, double rate = 0.1) { return (int)(price * (1 + rate)); }
ヒント2を見る
Console.WriteLine(WithTax(1000)); int WithTax(int price, double rate = 0.1) { return (int)(price * (1 + rate)); }
まとめ
引数 = 既定値でオプション引数(省略可能)にできる引数名: 値の名前付き引数で呼び出しが読みやすくなる- オプション引数は必須引数より後ろに書く
次回: 値を「参照」で渡すrefと、複数の結果を返すoutです。