C# のオプションパラメータ
Minahil Noor
2023年10月12日
- C# でデフォルト値メソッドを使用してメソッドパラメーターをオプションにする
- C# でオーバーロードメソッドを使用してメソッドパラメータをオプションにする
-
C# で
Optional
属性を使ってメソッドのパラメータをオプションにする
この記事では、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
関連記事 - Csharp Method
- C# でオブジェクトのプロパティでリストを並べ替える方法
- C# 関数でメソッドをパラメータとして渡す方法
- C# は get メソッドに複数のパラメーターを渡する
- C# で静的メソッドをオーバーライドする
- C# のメソッドグループ