0
之间的区别我有以下的一小段代码,让我有点困惑,因为我不是很熟悉C#。String.Empty和“”在可选参数
我需要使用一个可选的参数,如下图所示:
private string GetSomething(object inputObject, string optionalString = "")
{
//...
}
所有的膨胀和幸福。但是,如果我编辑了上面这段跟随项目的其余部分的编码标准,如下图所示,我得到了一个错误:
private string GetSomething(object inputObject, string optionalString = String.Empty)
{
//...
}
与错误读取
Default parameter value for 'optionalString' must be a compile-time constant.
虽然我理解为什么它需要成为一个常量,为什么后面的版本不是像第一个版本那样简单地进行优化和编译?在某些情况下是否有区别?
如果重要,我使用的是Visual Studio 2013,该项目是.NET 4.5。