public static const string Var1 = "abc";//compile time error
public static readonly string Var2 = "def";
定数を static として定義できないのはなぜですか?
定数はすでに静的であるため、冗長であり、コンパイル時に解決されます。
例えば:
const X = 5;
int a = X + X;
基本的には次のようになります。
int a = 5 + 5;
ただし、コンパイラ オプティマイザーは問題を解決し、実際には 10 を出力します。
詳細については、http://msdn.microsoft.com/en-us/library/ms173119(v= vs.80 ).aspx を参照してください。