c# - 声明一个常量数组

标签 c# .net arrays constants readonly

是否可以写类似下面的东西?

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

最佳答案

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

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

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

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

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

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

关于c# - 声明一个常量数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5142349/

相关文章:

c# - 使用 IValidatableObject 将数据验证添加到 WPF 和 C# 中的 Entity Framework 实体

php - 来自两列 MySQL 表的两列数组

javascript - renameFiles - 获取文件名数组并根据它们在数组中出现的次数重命名它们

c# - 从公司身份验证获取 Azure 帐户 key

c# - 可移植类库不支持System.IO,为什么?

c# - 简单注入(inject)器 (3.1.5) 和 SignalR (2.2) : SimpleInjector. ActivationException

c# - 如何通过更改变量静态设置属性

javascript - Lodash - 使用 _.some 检查对象数组中的空数组

c# - Azure AD 检查身份验证 token 是否有效

c# - 我可以告诉 MSBuild 去哪里寻找程序集吗?