Menu
Coddy logo textTech

オプション引数

CoddyのC#ジャーニー「基礎」セクションの一部 — レッスン 52/69。

C#では、メソッドのシグネチャでデフォルト値を指定することで、メソッドにオプション引数を定義できます。これにより、そのパラメーターの引数を指定してもしなくても、メソッドを呼び出すことができます。引数が指定されない場合は、デフォルト値が使用されます。

オプション引数を定義するための基本的な構文は次のとおりです。

access_modifier return_type method_name(parameter_type parameter_name = default_value) {
    // メソッドの本体
}

例えば:

public void Greet(string name = "Guest") {
    Console.WriteLine("Hello, " + name + "!");
}

この例では、Greetメソッドにはデフォルト値が"Guest"のオプションのパラメータnameがあります。このメソッドは、次の2つの方法で呼び出すことができます。

Greet("Alice"); // 出力: Hello, Alice!
Greet(); // 出力: Hello, Guest!

name に引数を渡すと、それが使用されます。引数を省略すると、デフォルト値の "Guest" が使用されます。

オプション引数は、メソッドのシグネチャにおいて、すべての必須引数の後に記述しなければなりません。複数のオプション引数を持つことができますが、一度オプション引数を定義すると、それ以降のすべての引数もオプション引数でなければなりません。

challenge icon

チャレンジ

簡単

2つのパラメータを受け取る DisplayMessage という名前のメソッドを作成してください:

  1. message という名前の必須の文字列パラメータ。
  2. デフォルト値が 1 である repeatCount という名前のオプションの整数パラメータ。

このメソッドは、message をコンソールに repeatCount 回出力する必要があります。メソッドを呼び出す際に repeatCount が指定されない場合は、デフォルトの 1 に設定される必要があります。

メソッドの呼び出し例を以下に示します:

DisplayMessage("Hello!"); // "Hello!" を1回出力します
DisplayMessage("Coddy", 3); // "Coddy" を3回出力します

チートシート

C#のオプション引数(省略可能なパラメーター)を使用すると、メソッドのシグネチャでデフォルト値を定義できます。メソッドを呼び出す際に引数が指定されない場合、デフォルト値が使用されます。

基本的な構文:

access_modifier return_type method_name(parameter_type parameter_name = default_value) {
    // メソッド本体
}

例:

public void Greet(string name = "Guest") {
    Console.WriteLine("Hello, " + name + "!");
}

// 使用法:
Greet("Alice"); // 出力: Hello, Alice!
Greet(); // 出力: Hello, Guest!

重要なルール:

  • オプション引数は、すべての必須引数の後に記述する必要があります。
  • 一度オプション引数を定義すると、それ以降のすべての引数もオプション引数である必要があります。

自分で試してみよう

using System;

public class Program {
    // ここにDisplayMessageメソッドを作成します
    

    public static void Main(string[] args) {
        DisplayMessage("Hello!");
        DisplayMessage("Coddy", 3);
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン