【发布时间】:2015-04-07 20:41:08
【问题描述】:
下面的一小段代码让我有些困惑,因为我对 C# 不是很熟悉。
我需要使用如下所示的可选参数:
private string GetSomething(object inputObject, string optionalString = "")
{
//...
}
一切都很好。但是,如果我按照项目其余部分的编码标准来编辑上面的部分,如下所示,我得到一个错误:
private string GetSomething(object inputObject, string optionalString = String.Empty)
{
//...
}
读取错误
'optionalString' 的默认参数值必须是编译时常量。
虽然我理解为什么它需要是一个常量,但为什么后一个版本不像第一个版本那样简单地优化和编译?在某些情况下有区别吗?
如果重要的话,我使用的是 Visual Studio 2013,该项目是 .NET 4.5。
【问题讨论】:
标签: c#