声明一个常量数组。

28 浏览
0 Comments

声明一个常量数组。

是否有可能写出类似以下内容的东西?

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

admin 更改状态以发布 2023年5月23日
0
0 Comments

你不能创建一个'const'数组,因为数组是对象,只能在运行时创建,而const实体在编译时解决。

你可以将数组声明为"readonly"。这与const具有相同的效果,只是值可以在运行时设置。它只能被设置一次,之后它是一个readonly(即const)值。

0
0 Comments

是的,但你需要将其声明为readonly而不是const

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

原因是const只能应用于在编译时已知其值的字段。你展示的数组初始化程序在C#中不是常量表达式,因此会导致编译器错误。

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

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

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

0