【发布时间】:2010-11-15 07:43:57
【问题描述】:
在其他语言中,我可以设置方法签名,例如
cookEgg(boolean hardBoiled = true)
如果我在方法调用中没有收到参数,这会将参数hardboiled 默认为true。
如何在 C# 中实现这一点?
【问题讨论】:
标签: c# .net parameters default-value optional-parameters
在其他语言中,我可以设置方法签名,例如
cookEgg(boolean hardBoiled = true)
如果我在方法调用中没有收到参数,这会将参数hardboiled 默认为true。
如何在 C# 中实现这一点?
【问题讨论】:
标签: c# .net parameters default-value optional-parameters
目前必须重载方法:
void cookEgg(bool hardBoiled) { ... }
void cookEgg() { cookEgg(true); }
C# 4.0 将添加可选参数 - 您将能够编写与原始示例完全相同的代码,并且它会按您的预期工作。
【讨论】:
System.String 的扩展方法。
C# 4 (Visual Studio 2010) 支持默认参数。
http://msdn.microsoft.com/en-us/library/dd264739(VS.100).aspx
【讨论】:
这与您看起来不完全一样,但我认为 params 参数是另一个答案。
void test(params int []arg) { }
【讨论】: