10

次のメソッドの例を検討してください。

public void MyMethod (string par1, bool par2 = "true", string par3="")
{
}

ここで、MyMethod を呼び出して、par3 の値を「IamString」に設定するとします。

par2 の値を true または false に設定せずに、どうすればそれを行うことができますか?

私は基本的に par2 の値をデフォルトのままにしたいと思っています。

Flash の ActionScript ではキーワードdefaultを使用してこれを行うことができるため、MyMethod ("somestring", default, "IamString") を呼び出すことができ、par2 はデフォルト値であるtrueとして解釈されるため、これを求めています。C#でもできるのかな。

4

2 に答える 2

16
public void MyMethod (string par1, bool par2 = "true", string par3=""){}
Myclass.MyMethod(par1:"par1", par3:"par3");

ちなみに、これはうまくいきません:bool par2 = "true"

string par2 = "true"

また

bool par2 = true

デフォルト値について言えば、これを使用して特定のタイプのデフォルト値を取得することもできます。

default(T)

于 2012-08-10T12:20:43.530 に答える
11

これは、パラメーターの名前で指定できます。

instance.MyMethod( "Hello", par3:"bla" );

こちらをご覧ください。

そして、別のバグがあります:

bool par2 = true

正しい..

于 2012-08-10T12:20:34.437 に答える