これは学問的な質問ですが、 ConcurrentDictionary.TryAdd 失敗することはありますか?もしそうなら、どのような場合に、なぜですか?
はい、できます、ここに条件があります( msdn ):
繰り返しますが、これは並行性とは関係ありません。 2つのスレッドが同時にアイテムを挿入することを心配する場合、次のことが起こります。
もちろんできます。キーが既に存在する場合、メソッドはfalseを返します。
参照: http://msdn.Microsoft.com/en-us/library/dd267291.aspx
戻り値の型:System.Booleanキー/値のペアがConcurrentDictionaryに正常に追加された場合はtrue。 キーがすでに存在する場合、このメソッドはfalseを返します。
キーが辞書に既に存在する場合、失敗します。
メモリが不足しているために値を追加できない場合は、代わりに例外が発生します。