Is it possible to write something similar to the following?
public const string[] Titles = { "German", "Spanish", "Corrects", "Wrongs" };
arrayscconstantsnetreadonly
Is it possible to write something similar to the following?
public const string[] Titles = { "German", "Spanish", "Corrects", "Wrongs" };
Best Answer
Yes, but you need to declare it
readonly
instead ofconst
:The reason is that
const
can only be applied to a field whose value is known at compile-time. The array initializer you've shown is not a constant expression in C#, so it produces a compiler error.Declaring it
readonly
solves that problem because the value is not initialized until run-time (although it's guaranteed to have initialized before the first time that the array is used).Depending on what it is that you ultimately want to achieve, you might also consider declaring an enum: