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 回答