C#有办法给我一个不可变的字典吗?

C#有办法给我一个不可变的字典吗?

核心C#库中是否有任何可以为我提供不可变词典的东西? Java的一些东西: Collections.unmodifiableMap(myMap); 而且只是为了澄清,我不打算阻止键/值本身被改变,只是字典的结构。 如果任何IDictionary的mutator方法被调用( Add, Remove, Clear)Add, Remove, Clear我想要快速和大声失败的东西。…


c# - 迭代字典的最佳方法是什么?

我已经看到了几种不同的方法来迭代C#中的字典。 有标准的方法吗?…


c# - 将字典值转换为数组

将字典值列表转换为数组的最有效方法是什么? 例如,如果我有一个Dictionary,其中Key是String而Value是Foo,我想得到Foo[] 我正在使用VS 2005,C#2.0…


C#词典ValueOrNull/ValueorDefault

目前我正在使用 var x=dict.ContainsKey(key) ? dict[key]:defaultValue 我想要一些方法让字典[键]为非易失键返回null,所以我可以写类似的东西 var x=dict[key] ?? defaultValue; 这也是linq查询的一部分,所以我更喜欢单线解决方案。…


python - 带有正则表达式的哈希表/字典/地图查找

我试图找出是否有一个相当有效的方法来执行查找字典(或哈希,或地图,或任何你最喜欢的语言调用它)的关键是正则表达式和字符串查找对一套钥匙。 例如(在Python语法中):>>> regex_dict={ re.compile(r'foo.'):12, re.compile(r'^FileN.*$'):35}>>> regex_dict['food'] 12>>> regex_d…


C#:Dictionary<K,V>如何在没有Add(KeyValuePair<K,V>)的情况下实现ICollection<KeyValuePair<K,V>>?

查看System.Collections.Generic.Dictionary<TKey, TValue>,它清楚地实现了ICollection<KeyValuePair<TKey, TValue>>,但没有所需的“ void Add(KeyValuePair<TKey, TValue> item) ”函数。 当试图像这样初始化Dictionary时,也可以看到这个: private con…


c# - 内置列表,可以通过索引和键访问

是否可以创建一个可以通过索引或键访问的列表? 我正在寻找一个已经存在,但有这个设施的集合类型,我想避免重新定义索引…


c# - 在静态类中声明一个Dictionary

如何在静态类中声明静态字典对象? 我试过了 public static class ErrorCode{public const IDictionary<string, string> ErrorCodeDic=new Dictionary<string, string>(){{ "1", "User name or password problem"…


c# - IDictionary<string,string>与Dictionary<string,string>

在这里使用IDictionary有什么价值?…



c# - 带有自定义IEqualityComparer的字典的XML序列化

我想序列化具有自定义IEqualityComparer的字典。 我试过使用DataContractSerializer,但我不能让比较器被序列化。 因为这个,我不能使用BinaryFormatter。 我总是可以做这样的事情: var myDictionary=new MyDictionary(deserializedDictionary, myComparer); 但是这意味着我需…




dictionary dictionary遍历 dictionary添加 dictionary排序 add trygetvalue foreach get key initialize