【发布时间】:2018-08-28 09:38:00
【问题描述】:
我经常使用 Dictionary 对象,并且总是需要添加/删除/更新项目。
我想知道为什么 Dictionary 没有内置 Update() 函数,甚至没有作为 LINQ 扩展(与线程安全、锁等相关。例如 UpdateSafe() 或类似)
ConcurrentDictionary 对象具有AddOrUpdate()。
注意:我在寻找以前的 SO 帖子来解释这个概念,但没有找到。
将不胜感激回答或参考解释该概念的帖子。
【问题讨论】:
-
所以你想要一个线程安全的
Update方法?您到底希望它做什么? -
您是否搜索过“如何更新字典”? 有一种方法可以做到这一点,它只是不称为
Update,而是indexer。 -
你可以在这里看到内部人士讨论这个问题:github.com/dotnet/corefx/issues/1942
-
@Sweeper 我更新的原因有很多,有时我想要线程安全,有时不是,对我来说很奇怪有更新功能(任何类型),而添加/删除确实存在,并且更新是一个微不足道的功能
标签: c# .net dictionary