5

別の文字列変数から const 文字列を作成したい。たとえば、次の 2 つのコード スニペットはコンパイルできません

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

4 に答える 4

8

要するに - いいえ。

に割り当てられる値constは、コンパイル時の定数でなければなりません。

readonlyの代わりに使用できますconst。これにより、変数の値を変更できます。コンストラクターでのみ参照を変更できます。

于 2012-12-13T14:16:41.207 に答える
2

readonlyキーワードを使用します。

string str = "111";
readonly string str2 = str.ToCharArray();
于 2012-12-13T14:17:58.310 に答える
2

定数はコンパイル時に評価されるため、必要なことはできません。ただし、定数を読み取り専用に置き換えることができます。次に例を示します。

string s = "Hello";
readonly string t = s + " World";
于 2012-12-13T14:18:50.880 に答える
1

いいえ。const変数はコンパイル時に機能するためです。

誰もが使用することに同意しreadonlyます;

readonly string t = s + " World";
于 2012-12-13T14:18:18.623 に答える