关于c#:String.Empty不是常量值?

String.Empty is not a constant value?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Why isn’t String.Empty a constant?

为了提高代码的可读性,我尝试将String.Empty指定为一个常量值:

1
2
3
4
5
6
const string PLATYPUS_ADDED_AND_ACCEPTED = string.Empty;
if (false) { }
else
{
    toolTip = PLATYPUS_ADDED_AND_ACCEPTED;
}

但是我得到了EDOCX1[1]

String.Empty不是一直都是一样的吗?对我来说,这似乎是相当稳定的。


string.Empty是只读字段,不是常量。

编译器无法知道这将始终是相同的值。