У меня есть отображение, в котором каждая клавиша может иметь несколько связанных значений. Я думал, что ConcurrentDictionary может помочь мне более легко скопировать эту карту для использования в многопоточной среде, но методы, похоже, построены вокруг одного значения. Я вижу, что AddOrUpdate() позволяет мне изменять значение, если оно уже существует, но оно не гарантирует атомарность для этой операции, поэтому кажется бессмысленным? У кого-нибудь есть хорошая стратегия для решения этой ситуации?Можете ли вы использовать ConcurrentDictionary для сопоставления «один ко многим»?
Извините, я думаю, я был немного расплывчатым. Я хотел бы иметь несколько значений для ключа, т. Е. Иметь IList, связанный с ключом. Но я хочу иметь возможность добавлять/удалять значения из многозначного значения безопасным образом. Это похоже на то, что метод AddOrUpdate + delegate может привести к потерям, если несколько вызовов к нему были сделаны в одно и то же время?
У вас уже был C# в тегах. Вам также не нужно было указывать его в названии. Кроме того, ваш вопрос не имеет ничего общего с C# 4.0. –