如果我不想得到值,如何从ConcurrentDictionary中删除

本文关键字:ConcurrentDictionary 删除 不想 想得到 如果 | 更新日期: 2023-09-27 18:01:08

ConcurrentDictionary似乎只有一个TryRemove方法,但没有Remove方法。为什么会这样?

当我想按键删除条目时,我不在乎值。我该怎么做?

如果我不想得到值,如何从ConcurrentDictionary中删除

TryRemoveConcurrentDictionary的本机方法,而与其他集合一样,您确实有ICollection的显式实现,Remove方法可用:

ConcurrentDictionary<TKey, TValue>.ICollection<KeyValuePair<TKey, TValue>>.Remove

http://msdn.microsoft.com/en-us/library/dd287153%28v=vs.110%29.aspx

因此TryRemoveRemove的安全替代品,但您可以在两者之间进行选择。

据我记忆所及,ConcurrentDictionary适用于多线程场景。

缺少"Remove"answers"TryRemove"是因为两个不同的线程可能同时试图从集合中删除特定的项目,但由于明显的原因,只有一个可以做到。

TryRemove尝试删除该项,但如果找不到该项,则不会发生异常。

相关文章:
  • 没有找到相关文章