C#设置默认参数,字符串数组(string [])

时间:2016-10-07 15:58:17

标签: c# parameters default

我搜索了一些C#默认字符串参数的例子,发现它是这样的。

字符串例外="约翰"

我需要设置字符串[]的默认值,但是我还没有找到如何将字符串数组设置为C#方法的默认值。

static int startapp(string Source, string Destination, string[] Exceptions = { "John", "Paul", "Mary" })
            {
                 //do something
            }

2 个答案:

答案 0 :(得分:1)

很抱歉这必须是评论,但我没有足够的声誉来添加评论。您可能正在寻找的是这个答案

optional array Parameter in C# [duplicate]

它说(来自文档)

A default value must be one of the following types of expressions:

    a constant expression;

    an expression of the form new ValType(), where ValType is a value type, such as an enum or a struct;

    an expression of the form default(ValType), where ValType is a value type.

答案 1 :(得分:0)

来自MSDN

  

默认值必须是以下类型的表达式之一:
    - 一个恒定的表达;
    - 新形式ValType()的表达式,其中ValType是值类型,例如枚举或结构;
    - 表单default(ValType)的表达式,其中ValType是值类型。

在您的情况下,string[]是参考类型 对于参考类型,默认值始终为null

当您尝试将新数组初始化为默认类型时,Visual Studio证明是一种解释:

  

默认参数值必须是编译时常量