如何在C#中使用默认参数?

如何在C#中使用默认参数?,c#,.net,parameters,default-value,optional-parameters,C#,.net,Parameters,Default Value,Optional Parameters,在其他语言中,我可以设置方法签名,如 cookEgg(boolean hardBoiled = true) 如果在方法调用中没有收到参数,则将参数hardboched默认为true 如何在C#中实现这一点?目前,您必须重载该方法: void cookEgg(bool hardBoiled) { ... } void cookEgg() { cookEgg(true); } C#4.0将添加可选参数-您将能够完全按照原始示例编写代码,并且它将按照您的预期工作。这并不是您所期望的,但我认为参数是

在其他语言中,我可以设置方法签名,如

cookEgg(boolean hardBoiled = true)
如果在方法调用中没有收到参数,则将参数
hardboched
默认为
true


如何在C#中实现这一点?

目前,您必须重载该方法:

void cookEgg(bool hardBoiled) { ... }
void cookEgg() { cookEgg(true); }

C#4.0将添加可选参数-您将能够完全按照原始示例编写代码,并且它将按照您的预期工作。

这并不是您所期望的,但我认为参数是另一个答案

void test(params int []arg) { }

默认参数在C#4(Visual Studio 2010)中受支持


我期待着这一功能的推出。现在必须创建一个重载的方法来拥有这个特性,这是相当烦人的。我还希望使用静态扩展方法(扩展静态类,如…System.String或其他东西)。我肯定遗漏了一些东西,因为您可以在C#3.0中为
System.String
轻松定义扩展方法。