Dimitar Tsonev
Dimitar Tsonev

Reputation: 3882

How to create const string from string variable

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

Answers (4)

Roman Melnyk
Roman Melnyk

Reputation: 1097

Use readonly keyword.

string str = "111";
readonly string str2 = str.ToCharArray();

Upvotes: 2

Lloyd
Lloyd

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

Soner Gönül
Soner Gönül

Reputation: 98740

Nope. Because const variables are works on compile time.

Everybody agree on using readonly;

readonly string t = s + " World";

Upvotes: 2

Oded
Oded

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

Related Questions