相关疑难解决方法(0)

如何初始化ReadOnlyDictionary?

我有一个在课堂上暴露的不变的字典.

目前我的代码看起来像

using System.Collections.Generic;
using System.Collections.ObjectModel;

public class FooClass
{
    private static ReadOnlyDictionary<string, byte> _validRevisions 
        = new ReadOnlyDictionary<string, byte>(
            new Dictionary<string, byte>() { 
                { "1.0", 0x00 },
                { "1.1", 0x01 },
                { "1.2", 0x02 },
                { "1.3", 0x03 }
            } );

    public static ReadOnlyDictionary<string, byte> ValidRevisions => _validRevisions;

    // other FooClass contents...
}
Run Code Online (Sandbox Code Playgroud)

我已经使用了支持字段,_validRevisions因为我无法找到创建共享常量字典属性的更好方法.是否有更简洁的方法来管理这个或者我应该让这个领域公开?

我的主要问题是有一个较短的方法来初始化_validRevisions字段本身?创建一个内联字典以将其传递到一个字典(恰好是只读)似乎有点......代码味道.是吗?有没有更好的办法?

编辑:关于ROD的另一件事我刚才注意到,没有方法支持检查它是否包含给定值...是否有与之相关的原因'只读 - 是什么?

c# dictionary c#-6.0

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1

c#-6.0 ×1

dictionary ×1