他の言語では、次のようなメソッド署名を設定できます
cookEgg(boolean hardBoiled = true)
メソッド呼び出しでパラメーターを受け取っていない場合、これはパラメーターhardboiled
をデフォルトで に設定します。true
C#でこれを達成するにはどうすればよいですか?
他の言語では、次のようなメソッド署名を設定できます
cookEgg(boolean hardBoiled = true)
メソッド呼び出しでパラメーターを受け取っていない場合、これはパラメーターhardboiled
をデフォルトで に設定します。true
C#でこれを達成するにはどうすればよいですか?
現在、メソッドをオーバーロードする必要があります。
void cookEgg(bool hardBoiled) { ... }
void cookEgg() { cookEgg(true); }
C# 4.0 では、オプションの引数が追加されます。元のサンプルとまったく同じようにコードを記述でき、期待どおりに動作します。
既定のパラメーターは、C# 4 (Visual Studio 2010) でサポートされています。
http://msdn.microsoft.com/en-us/library/dd264739(VS.100).aspx
これはあなたが正確に見ているものではありませんが、 params引数は別の答えだと思います。
void test(params int []arg) { }