如何从字符串变量创建const字符串

时间:2012-12-13 14:15:01

标签: c# string const

我想从另一个字符串变量创建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字符串?

4 个答案:

答案 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";