Будет ли он возвращать false только в том случае, если словарь не содержит значения для данного ключа, или он также вернет false из-за условий гонки потоков, например, другой поток добавляет / обновляет что-то?
Вопрос в коде:
ConcurrentDictionary<int, string> cd = new ConcurrentDictionary<int, string>();
// This might fail if another thread is adding with key value of 1.
cd.TryAdd(1, "one");
// Will this ever fail if no other thread ever removes with the key value of 1?
cd.TryRemove(1);
Изменить: я думаю, что он вернет false, только если он не содержит значения для данного ключа, но хочу быть абсолютно уверенным.
источник