HOWTO · Csharp
C# のオプションパラメータ
この記事では、C# でメソッドパラメーターをオプションにする方法を紹介します。これには、デフォルト値メソッド、オーバーロードメソッド、およびオプション属性が含まれます。
このページの内容
この記事では、C# でメソッドパラメーターをオプションにするさまざまなメソッドを紹介します。
C# でデフォルト値メソッドを使用してメソッドパラメーターをオプションにする
ユーザー定義関数 adding() があります。2つの必須パラメーターがあり、3 番目のパラメーターはオプションです。デフォルト値を割り当てることにより、3 番目のパラメーターをオプションにします。その場合、3 番目の引数を渡さないと、関数はデフォルト値を使用し、3 番目のパラメーターはオプションと見なされます。
以下のプログラムは、デフォルト値のメソッドを使用してメソッドパラメータをオプションにする方法を示しています。
using System;
class Add {
static public void adding(int num1, int num2, int num3 = 0) {
Console.WriteLine(num1 + num2 + num3);
}
static public void Main() {
adding(4, 3);
adding(4, 3, 6);
}
}
出力:
7
13
関数を 2 回呼び出しました。まず、必須パラメーターのみを渡します。次に、オプションのパラメーターのみを渡します。
C# でオーバーロードメソッドを使用してメソッドパラメータをオプションにする
もう 1つの方法は、関数のオーバーロードを作成して、メソッドパラメーターをオプションにすることです。メソッドのオーバーロードでは、同じ名前の複数のメソッドを作成します。このようにして、パラメータをオプションにすることができます。
以下のプログラムは、メソッドのオーバーロードを使用してメソッドパラメーターをオプションにする方法を示しています。
using System;
class Add {
static public void adding(int num1, int num2) {
Console.WriteLine(num1 + num2);
}
static public void adding(int num1, int num2, int num3) {
Console.WriteLine(num1 + num2 + num3);
}
static public void Main() {
adding(4, 3);
adding(4, 3, 6);
}
}
出力:
7
13
C# で Optional 属性を使ってメソッドのパラメータをオプションにする
もう 1つの方法は、パラメーター名の前に角括弧で囲まれた Optional キーワードを使用して、メソッドパラメーターをオプションにすることです。
以下のプログラムは、Optional 属性を使用してメソッドパラメーターをオプションにする方法を示しています。
using System;
using System.Runtime.InteropServices;
class Add {
static public void adding(int num1, int num2, [Optional] int num3) {
Console.WriteLine(num1 + num2 + num3);
}
static public void Main() {
adding(4, 3);
adding(4, 3, 6);
}
}
出力:
7
13