当前位置:  开发笔记 > 编程语言 > 正文

在静态类中声明一个Dictionary

如何解决《在静态类中声明一个Dictionary》经验,为你挑选了2个好方法。

如何在静态类中声明静态字典对象?我试过了

public static class ErrorCode
{
    public const IDictionary ErrorCodeDic = new Dictionary()
    {
        { "1", "User name or password problem" }     
    };
}

但是编译器抱怨" 除了字符串之外的引用类型的const字段只能用null初始化 ".



1> Yona..:

如果要声明字典一次并且从不更改它,则将其声明为readonly:

private static readonly Dictionary ErrorCodes
    = new Dictionary
{
    { "1", "Error One" },
    { "2", "Error Two" }
};

如果您希望字典项是只读的(不仅是引用而且是集合中的项),那么您将不得不创建一个实现IDictionary的只读字典类.

查看ReadOnlyCollection以供参考.

BTW const只能在内联声明标量值时使用.



2> Graviton..:

正确的语法(在VS 2008 SP1中测试)是这样的:

public static class ErrorCode
{
    public static IDictionary ErrorCodeDic;
     static ErrorCode()
    {
        ErrorCodeDic = new Dictionary()
            { {"1", "User name or password problem"} };
    }
}

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有