次のようなものを書くことは可能ですか?
public const string[] Titles = { "German", "Spanish", "Corrects", "Wrongs" };
ベストアンサー1
はい、ただし、次readonly
のように宣言する必要がありますconst
:
public static readonly string[] Titles = { "German", "Spanish", "Corrects", "Wrongs" };
その理由は、const
コンパイル時に値がわかっているフィールドにのみ適用できるからです。示した配列初期化子は C# の定数式ではないため、コンパイラ エラーが発生します。
これを宣言するとreadonly
、実行時まで値が初期化されないため、その問題は解決されます (ただし、配列が最初に使用される前に初期化されていることが保証されます)。
最終的に何を達成したいかに応じて、列挙型の宣言も検討してください。
public enum Titles { German, Spanish, Corrects, Wrongs };