如何在静态类中声明静态字典对象?我试过了
public static class ErrorCode
{
public const IDictionary<string, string> ErrorCodeDic = new Dictionary<string, string>()
{
{ "1", "User name or password problem" }
};
}
但是编译器提示“引用类型的 const 字段不是字符串,只能用 null 初始化”。
最佳答案
如果你想声明一次字典并且永远不改变它,那么将它声明为只读的:
private static readonly Dictionary<string, string> ErrorCodes
= new Dictionary<string, string>
{
{ "1", "Error One" },
{ "2", "Error Two" }
};
如果您希望字典项目是只读的(不仅是引用,还有集合中的项目),那么您将必须创建一个实现 IDictionary 的只读字典类。
查看 ReadOnlyCollection 以供引用。
顺便说一句,const 只能在声明内联标量值时使用。
关于c# - 在静态类中声明一个字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/313324/