C# のオプションパラメータ

Minahil Noor 2023年10月12日
  1. C# でデフォルト値メソッドを使用してメソッドパラメーターをオプションにする
  2. C# でオーバーロードメソッドを使用してメソッドパラメータをオプションにする
  3. C# で Optional 属性を使ってメソッドのパラメータをオプションにする
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

関連記事 - Csharp Method

関連記事 - Csharp Parameter