常量字符串数组

41

可能是重复问题:
声明一个常量数组

我需要在类中定义一个常量字符串数组,类似于:

public class some_class_t
{
    public const string[] names = new string[4]
    {
        "alpha", "beta", "gamma", "delta"
    };
}

但是这段代码会导致错误:

一个引用类型为 'string[]' 的常量 'names' 只能使用 null 进行初始化。

我该怎么办?


4
数组是可变的。除非它们为null,否则它们不能是常量。 - Joel Etherton
1个回答

78

将其声明为 readonly 而不是 const:

public readonly string[] names = { "alpha", "beta", "gamma", "delta" };

更多细节请参见[https://dev59.com/FW435IYBdhLWcg3w6EmF#5142378]。 - VSB
3
并将其声明为static,这样我就可以使用public readonly string[] names = { "alpha", "beta", "gamma", "delta" }; - mike nelson
4
Mike Nelson 的本意是要输入以下代码:"public static readonly string[] names = { "alpha", "beta", "gamma", "delta" };" - BoiseBaked
3
为什么这个被接受了?问题是关于“const”而不是“readonly”…… - Yousha Aleayoub
1
有人知道如何将其实现为常量(const),而不是只读(readonly)吗?我想在类属性上引用它,只有常量才能做到。谢谢。 - z0mbi3
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接