19

我有以下内容ConcurrentDictionary

ConcurrentDictionary<Guid, Session> sessions;

我知道这sessions.TryGetValue(key, out session)是线程安全的,但我的问题是是否sessions[key]也是线程安全的?

sessions.TryGetValue(key, out session)根据是否能够获取值返回 true 或 false。

如果无法获取值会sessions[key]返回吗?null我会这么认为。任何人都可以确认或阐明这一点吗?谢谢。

4

1 回答 1

18

它是线程安全的,但不会返回null

文件明确指出:

例外

KeyNotFoundException
检索到属性,但集合中不存在键。

于 2013-06-13T13:32:34.230 回答