Jaime Oro Jaime Oro - 3 months ago 36
C# Question

Declare a Const Array


Possible Duplicate:

Declaring a const double[] in C# ?




Is it possible to write something similar to?

public const string[] Titles = { "German", "Spanish", "Corrects", "Wrongs" };

Answer

Yes, but you need to declare it readonly instead of const:

public static readonly string[] Titles = { "German", "Spanish", "Corrects", "Wrongs" };

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:

public enum Titles { German, Spanish, Corrects, Wrongs };