C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のオプションパラメータとは何ですか?


デフォルトでは、メソッドのすべてのパラメーターが必須です。オプションのパラメーターを含むメソッドは、呼び出し時に引数を渡すことを強制しません。これは、引数を渡さずにメソッドを呼び出すことを意味します。

オプションのパラメーターには、関数定義のデフォルト値が含まれています。呼び出し時にオプションの引数値を渡さない場合は、デフォルト値が使用されます。

セラは、パラメータをオプションにするさまざまな方法です。

デフォルト値の使用

using System;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         OptionalMethodWithDefaultValue(5);
         //Value2 is not passed as it is optional
         OptionalMethodWithDefaultValue(5, 10);
         //Value2 is passed
         Console.ReadLine();
      }
      public static void OptionalMethodWithDefaultValue(int value1, int value2 = 5){
         Console.WriteLine($"Sum is {value1 + value2}");
      }
   }
}

出力

上記のコードの出力は

です。
Sum is 10
Sum is 15

上記の例では、メソッドOptionalMethodWithDefaultValue(int value1、int value2 =5)value2のデフォルト値は5です。したがって、呼び出し中にvalue2に引数が渡されない場合は、デフォルト値5が使用され、value2に引数が渡される場合は、デフォルト値は上書きされます。

オプションの属性の使用

using System;
using System.Runtime.InteropServices;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         OptionalMethodWithDefaultValue(5);
         OptionalMethodWithDefaultValue(5, 10);
         Console.ReadLine();
      }
      public static void OptionalMethodWithDefaultValue(int value1, [Optional]int value2){
         Console.WriteLine($"Sum is {value1 + value2}");
      }
   }
}

出力

上記のコードの出力は

です。
Sum is 5
Sum is 15

ここで、[オプション]属性は、オプションのパラメーターを指定するために使用されます。

また、オプションのパラメータは常にパラメータの最後に指定する必要があることに注意してください。たとえば、OptionalMethodWithDefaultValue(int value1 =5、int value2)は例外をスローします。

using System;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         OptionalMethodWithDefaultValue(5);
         OptionalMethodWithDefaultValue(5, 10);
         Console.ReadLine();
      }
      public static void OptionalMethodWithDefaultValue(int value1 = 5, int value2){
         Console.WriteLine($"Sum is {value1 + value2}");
      }
   }
}

エラー-オプションのパラメータは、必要なすべてのパラメータの後に表示する必要があります。


  1. Java 9でのOptional.stream()メソッドの使用は何ですか?

    Java 9では、 stream() オプションにメソッドが追加されました その機能を改善するためのクラス。 stream() メソッドを使用して、オプション要素のストリームを現在価値要素のストリームに変換できます。 オプションの場合 値が含まれている場合は、値を含むストリームを返します。それ以外の場合は、空のを返します ストリーム 。 構文 public Stream<T> stream() 例 import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.

  2. Javaの最終パラメータは何ですか

    最後のパラメータは、定数を宣言するために使用されるJavaプログラミングのキーワードです。たとえば PIEの値をご存知のとおり、PIEは3.14であり、変更されないため、プログラミング中にfinalintPIEについて言及する必要があります。 また、クラスとメソッドの最後のキーワードに言及することで、継承と拡張を制限します。