我有以下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/

10-12 12:44