为什么在Dictionary对象中没有Update()函数?

时间:2018-08-28 09:38:00

标签: c# .net dictionary

我经常使用Dictionary对象,并且总是需要添加/删除/更新项目。

我想知道为什么没有内置的Update()字典功能,甚至没有作为LINQ扩展名(与线程安全性,锁等UpdateSafe()或类似物有关)

ConcurrentDictionary对象具有AddOrUpdate()

注意:我正在寻找以前的SO帖子,该帖子解释了这个概念,但没有找到一个。

回答或引用解释该概念的帖子,将不胜感激。

1 个答案:

答案 0 :(得分:8)

有,您可以使用this[]访问器。

dict[key] = value;

这将添加或替换指定键的当前值。

ConcurrentDictionary的主要区别在于ConcurrentDictionary是线程安全的。 Dictionary不是。

CLR团队可能觉得有必要在AddOrUpdate中创建一个名称为ConcurrentDictionary的方法,因为添加和更新的方法更多。否则,您可能认为没有办法做到这一点,但是在功能上,它与this[]访问器相同。