Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# String.Empty不是常量值吗?_C#_String - Fatal编程技术网

C# String.Empty不是常量值吗?

C# String.Empty不是常量值吗?,c#,string,C#,String,可能重复: 为了使代码更具可读性,我尝试将String.Empty赋值为常量值: const string PLATYPUS_ADDED_AND_ACCEPTED = string.Empty; if (false) { } else { toolTip = PLATYPUS_ADDED_AND_ACCEPTED; } 但是我得到了“被添加的表达式必须是常量” String.Empty不总是一样的吗?这对我来说似乎是非常恒定的。字符串。Empty是一个,而不是一个常量 编译器无法知道

可能重复:

为了使代码更具可读性,我尝试将
String.Empty
赋值为常量值:

const string PLATYPUS_ADDED_AND_ACCEPTED = string.Empty;
if (false) { }
else
{
    toolTip = PLATYPUS_ADDED_AND_ACCEPTED;
}
但是我得到了
“被添加的表达式必须是常量”


String.Empty不总是一样的吗?这对我来说似乎是非常恒定的。

字符串。Empty
是一个,而不是一个常量


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

字符串。空的
是一个,而不是一个常量


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

实际上,Tim的答案更好,因为Tim指出了Microsoft对此选择的解释。实际上,Tim的答案更好,因为Tim指出了Microsoft对此选择的解释。