3
public static const string Var1 = "abc";//compile time error
public static readonly string Var2 = "def";

定数を static として定義できないのはなぜですか?

4

3 に答える 3

20

定数はすでに静的であるため、冗長であり、コンパイル時に解決されます。

例えば:

const X = 5;
int a = X + X;

基本的には次のようになります。

int a = 5 + 5;

ただし、コンパイラ オプティマイザーは問題を解決し、実際には 10 を出力します。

詳細については、http://msdn.microsoft.com/en-us/library/ms173119(v= vs.80 ).aspx を参照してください。

于 2013-05-15T14:42:42.693 に答える