在其他语言中,我可以设置方法签名,如
cookEgg(boolean hardBoiled = true)
如果我在方法调用中没有收到参数,则默认参数hardboiled为true。 我将如何在c#中实现这一目标?
非常感谢
答案 0 :(得分:31)
目前,您必须重载该方法:
void cookEgg(bool hardBoiled) { ... }
void cookEgg() { cookEgg(true); }
C#4.0将添加可选参数 - 您将能够像在原始示例中一样编写代码,并且它将按照您的预期工作。
答案 1 :(得分:11)
C#4(Visual Studio 2010)支持默认参数。
http://msdn.microsoft.com/en-us/library/dd264739(VS.100).aspx
答案 2 :(得分:2)
这不是你看起来的确切但我认为 params 这个论点是另一个答案。
void test(params int []arg) { }