Reputation: 3882
I want to create const string from another string variable. For example the next two code snippets can't compile
1)
string str = "111";
const string str2 = str;
2)
string str = "111";
const string str2 = new string(str.ToCharArray());
Which results in
Error: The expression being assigned to 'str2' must be constant
Is there any way to create a const string from string variable ?
Upvotes: 6
Views: 18325
Reputation: 1097
Use readonly keyword.
string str = "111";
readonly string str2 = str.ToCharArray();
Upvotes: 2
Reputation: 29668
Constants are evaluated at compile time so what you want is not possible. However you can substitute the constants with readonly, for example:
string s = "Hello";
readonly string t = s + " World";
Upvotes: 2
Reputation: 98740
Nope. Because const
variables are works on compile time.
Everybody agree on using readonly
;
readonly string t = s + " World";
Upvotes: 2
Reputation: 498934
In short - no.
The value assigned to a const
must be a compile time constant.
You can use readonly
instead of const
, which will let you change the value of the variable - you will only be able to change the reference in the constructor.
Upvotes: 8