如果我不想得到值,如何从ConcurrentDictionary中删除
本文关键字:ConcurrentDictionary 删除 不想 想得到 如果 | 更新日期: 2023-09-27 18:01:08
ConcurrentDictionary似乎只有一个TryRemove方法,但没有Remove方法。为什么会这样?
当我想按键删除条目时,我不在乎值。我该怎么做?
TryRemove
是ConcurrentDictionary
的本机方法,而与其他集合一样,您确实有ICollection
的显式实现,Remove
方法可用:
ConcurrentDictionary<TKey, TValue>.ICollection<KeyValuePair<TKey, TValue>>.Remove
http://msdn.microsoft.com/en-us/library/dd287153%28v=vs.110%29.aspx
因此TryRemove
是Remove
的安全替代品,但您可以在两者之间进行选择。
据我记忆所及,ConcurrentDictionary适用于多线程场景。
缺少"Remove"answers"TryRemove"是因为两个不同的线程可能同时试图从集合中删除特定的项目,但由于明显的原因,只有一个可以做到。
TryRemove尝试删除该项,但如果找不到该项,则不会发生异常。