【发布时间】:2017-11-07 07:48:31
【问题描述】:
我不确定我是否完全理解TryGet 方法。
它何时准确返回false - 当内部锁被锁定时,这意味着如果我想获得价值(知道它在那里),我应该使用while?
或者这个while 以某种方式嵌入到这个函数内部并返回false 意味着 - 字典中没有这样的键?
注意。这适用于ConcurrentDictionary - TryAdd 等的所有其他方法吗?
【问题讨论】:
-
你怎么确定它在那里?您能否添加更多有关使用情况以及您要达到的目标的上下文?一般来说,如果 TryGet 返回 false,那么您需要假设该项目不在集合中。
-
为什么不看看内部或文档? ILSpy 或 Reflector 将为您提供源代码(从 DLL 反编译,因此它看起来与原始代码不完全相同,但逻辑将保持不变)或者就像我说的那样查看 Microsoft 的文档,新的文档网站很不错
标签: c# concurrentdictionary trygetvalue