我想从另一个字符串变量创建const字符串。例如,接下来的两个代码片段无法编译
1)
string str = "111";
const string str2 = str;
2)
string str = "111";
const string str2 = new string(str.ToCharArray());
结果是
Error: The expression being assigned to 'str2' must be constant
有没有办法从字符串变量创建一个const字符串?
答案 0 :(得分:6)
简而言之 - 不。
分配给const
的值必须是编译时常量。
您可以使用readonly
代替const
,这样可以更改变量的值 - 您只能更改构造函数中的引用。
答案 1 :(得分:2)
使用 readonly 关键字。
string str = "111";
readonly string str2 = str.ToCharArray();
答案 2 :(得分:2)
在编译时评估常量,因此无法实现所需。但是,您可以使用readonly替换常量,例如:
string s = "Hello";
readonly string t = s + " World";
答案 3 :(得分:1)
不。因为const
变量适用于编译时。
每个人都同意使用readonly
;
readonly string t = s + " World";