我有以下ConcurrentDictionary
:
ConcurrentDictionary<Guid, Session> sessions;
我知道
sessions.TryGetValue(key, out session)
是线程安全的,但是我的问题是sessions[key]
是否也是线程安全的?sessions.TryGetValue(key, out session)
根据是否能够获取该值返回true或false。如果无法获取该值,
sessions[key]
将返回null
吗?我会这样认为。谁能证实或对此有更多了解?谢谢。 最佳答案
它是线程安全的,但不会返回null
。
documentation明确指出:
例外情况
KeyNotFoundException
检索到该属性,并且键在集合中不存在。
关于.net - ConcurrentDictionary TryGetValue与[]。 []仍然是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17088363/