Pergunta

I have the following ConcurrentDictionary:

ConcurrentDictionary<Guid, Session> sessions;

I know that sessions.TryGetValue(key, out session) is thread-safe, but my question is if sessions[key] is also thread-safe?

sessions.TryGetValue(key, out session) returns true or false depending on whether it was able to get the value or not.

Will sessions[key] return null if it is unable to get the value? I would think so. Can anyone confirm or shed more light on this? Thanks.

Foi útil?

Solução

It is thread-safe, but it will not return null.

The documentation clearly states:

Exceptions

KeyNotFoundException
The property is retrieved and key does not exist in the collection.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top