【问题标题】:How to use default parameters in C#?如何在 C# 中使用默认参数?
【发布时间】:2010-11-15 07:43:57
【问题描述】:

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

cookEgg(boolean hardBoiled = true)

如果我在方法调用中没有收到参数,这会将参数hardboiled 默认为true

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

【问题讨论】:

    标签: c# .net parameters default-value optional-parameters


    【解决方案1】:

    目前必须重载方法:

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

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

    【讨论】:

    • 我很期待这个功能。现在不得不制作一个重载的方法来拥有这个特性,这很烦人。我也希望有静态扩展方法(扩展一个静态类,比如... System.String 什么的)。
    • 我一定遗漏了什么,因为您可以在 C# 3.0 中轻松定义 System.String 的扩展方法。
    【解决方案2】:

    C# 4 (Visual Studio 2010) 支持默认参数。

    http://msdn.microsoft.com/en-us/library/dd264739(VS.100).aspx

    【讨论】:

      【解决方案3】:

      这与您看起来不完全一样,但我认为 params 参数是另一个答案。

      void test(params int []arg) { }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-19
        • 2012-11-20
        • 1970-01-01
        • 1970-01-01
        • 2012-08-01
        • 1970-01-01
        • 2013-02-20
        • 2011-07-04
        相关资源
        最近更新 更多