什么情况下ConcurrentDictionary.TryRemove()返回false? [重复]

问题描述 投票:0回答:1

我一直在寻找一种从并发字典中删除项目的方法。由于某种原因,没有

Remove
方法,但有一个
TryRemove
方法,它返回
bool
。在 MSDN 中据说如果进程“失败”,则会返回
false
,但没有说明以何种方式返回。

  1. 仅当元素不存在时是否为 false?
  2. 当元素因锁而无法移除时,是否为 false?
c# collections concurrency concurrentdictionary
1个回答
3
投票

仅第一个选项:当没有钥匙可移除时;锁定是 ConcurrentDictionary 内部实现,它不应该 从外面可见。

根据 Dmitry Bychenko 的评论。

© www.soinside.com 2019 - 2024. All rights reserved.