フィールドを初期化する際なのですが
以下のコードでフィールドであらかじめ初期化した変数を新しく作った変数に代入する場合static かconst 修飾子を付けないといけない理由はなぜなのでしょうか。
以前質問したのですがstaticだけでなくconstもOKだと気づいてしまったので・・・
また、言語仕様だと思うのですが一回初期化した変数に二度目の初期化をするとコンパイルエラーになる仕様も釈然としないんですよね。
C#
1 public const int a = 10; 2 3 public static int b = 10; 4 5 public int c = 10; 6 7 public int d = b;/ここでcを初期化するとコンパイルエラー 8 9 string[] str = new string[c]; //a bを配列のインデックスに初期化するとコンパイルエラーは出ない 10 11 c = 10; //一回初期化した変数に二度目の初期化をするとコンパイルエラーになる仕様も釈然としない。 12
Javaタグ不要では?
回答1件
あなたの回答
tips
プレビュー