C'est plus une question académique ... mais peut ConcurrentDictionary.TryAdd échouer? Et si oui dans quels cas et pourquoi?
Oui c'est possible, voici les conditions ( de msdn ):
Pour rappel, cela n'a rien à voir avec la concurrence. Si vous craignez que deux threads insèrent un élément en même temps, les événements suivants peuvent se produire:
Bien sûr que c'est possible. Si la clé existe déjà, la méthode retournera false.
Réf: http://msdn.Microsoft.com/en-us/library/dd267291.aspx
Type de valeur de retour: System.Boolean true si la paire clé/valeur a été ajoutée au ConcurrentDictionary avec succès. Si la clé existe déjà, cette méthode retourne false.
Il échouera lorsque la clé existe déjà dans le dictionnaire.
Si la valeur ne peut pas être ajoutée car vous manquez de mémoire, vous obtiendrez une exception à la place.