C# の省略可能な引数(オプション引数)

省略可能な引数は、メソッドを呼び出す際に全ての引数を指定しなくても、デフォルト値が使用される便利な機能です。


サンプルコード

以下のコードは、省略可能な引数を使った「挨拶文を表示す」メソッドの例です。

using System;

class Program
{
    // 挨拶をするメソッド。`name` と `greeting` は省略可能な引数。
    static void SayHello(string name = "ゲスト", string greeting = "こんにちは")
    {
        Console.WriteLine($"{greeting}, {name}さん!");
    }

    static void Main(string[] args)
    {
        // すべての引数を指定
        SayHello("太郎", "おはよう");

        // `name` 引数のみ指定
        SayHello("花子");

        // 引数を省略
        SayHello();

        // Console.ReadLineを使ってユーザー入力で動作確認
        Console.WriteLine("名前を入力してください:");
        string userName = Console.ReadLine();
        SayHello(userName); // 挨拶はデフォルトの "こんにちは"
    }
}

コードの解説

  1. 省略可能な引数
    • メソッドのパラメータでデフォルト値を設定すると、その引数は省略可能になります。
    • 例: string name = "ゲスト
    • → 引数が渡されない場合、"ゲスト" が使用されます。
  2. 使用例
    • すべての引数を指定すると、その値が使用されます。
    • 引数を省略すると、デフォルト値が使用されます。
  3. 実行結果例
おはよう, 太郎さん!
こんにちは, 花子さん!
こんにちは, ゲストさん!
名前を入力してください:
(例: "さくら" と入力)
こんにちは, さくらさん!

ポイント

省略可能な引数を使用すると、メソッドを呼び出すときの自由度が高まり、複雑なオーバーロードを避けられます。
初学者にとっても理解しやすく、実際のコード作成に実用できる技術です。

C#

Posted by hidepon