这更像是一个学术问题......但ConcurrentDictionary.TryAdd会失败吗?如果是这样,在什么情况下以及为什么?
答案 0 :(得分:86)
是的,可以,这是条件(from msdn):
重申一下,这与并发性无关。如果您担心两个线程同时插入一个项目,则可能发生以下情况:
答案 1 :(得分:7)
当然可以。如果密钥已存在,则该方法将返回false。
参考:http://msdn.microsoft.com/en-us/library/dd267291.aspx
返回值 键入:System.Boolean 如果键/值对已成功添加到ConcurrentDictionary,则为true。 如果密钥已存在,则此方法返回false。
答案 2 :(得分:2)
当密钥已存在于字典中时,它将失败。
如果因为耗尽内存而无法添加该值,则会收到异常。