小编典典

声明一个const数组

c#

是否可以编写类似于以下内容的内容?

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

阅读 244

收藏
2020-05-19

共1个答案

小编典典

是的,但是您需要声明它readonly而不是const

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

原因是const只能应用于其值在编译时已知的字段。您显示的数组初始值设定项在C#中不是常量表达式,因此会产生编译器错误。

声明它readonly解决了这个问题,因为直到运行时才初始化该值(尽管可以保证在第一次使用该数组之前就已对其进行了初始化)。

根据最终要实现的目标,您还可以考虑声明一个枚举:

public enum Titles { German, Spanish, Corrects, Wrongs };
2020-05-19