オプション引数
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" が使用されます。
オプション引数は、メソッドのシグネチャにおいて、すべての必須引数の後に記述しなければなりません。複数のオプション引数を持つことができますが、一度オプション引数を定義すると、それ以降のすべての引数もオプション引数でなければなりません。
チャレンジ
簡単2つのパラメータを受け取る DisplayMessage という名前のメソッドを作成してください:
messageという名前の必須の文字列パラメータ。- デフォルト値が
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);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。