Are the keys in a Dictionary<TKey, TValue> immutable?
我从API中得到一个
在我开始复制新的
更像是您必须确保用于
您是对的,如果密钥发生更改,则需要用旧密钥删除条目,并用新密钥插入新条目。
如果只有部分键发生更改,则不需要复制整个词典。
字典中的键不可变。
例如,以下代码:
1 2 3 4 5 6 | Dictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("One","1"); dict.Add("Two","2"); var k = dict.First(); k.Key ="Three"; |
将引发以下编译器错误:
0也就是说,如果使用引用类型,字典可能具有可变键,请参见:
字典和可变键
(我知道,我知道,字符串是引用类型…但上面的链接将解释…)