ArgumentNullException в ConcurrentDictionary.AddOrUpdateC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 ArgumentNullException в ConcurrentDictionary.AddOrUpdate

Сообщение Anonymous »

Я наблюдаю странное поведение при вызове метода AddOrUpdate ConcurrentDictionary:

Код: Выделить всё

static void Main(string[] args)
{
var t = new ConcurrentDictionary();
t.AddOrUpdate("boo", null, (k, v) => null);
}
выдает ArgumentNullException:

Код: Выделить всё

System.ArgumentNullException was unhandled
HResult=-2147467261
Message=Value cannot be null.
Parameter name: addValueFactory
ParamName=addValueFactory
Source=mscorlib
StackTrace:
at System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(TKey key, Func`2 addValueFactory, Func`3 updateValueFactory)
at ConcurrentDictionaryTest.Program.Main(String[] args)
Почему? Разве мне не разрешено добавлять нулевые значения в качестве значений в параллельный словарь? В документации не сказано ничего особенного о значении null, поскольку значение и последующие значения работают нормально:

Код: Выделить всё

static void Main(string[] args)
{
var t = new ConcurrentDictionary();
const object defaultValue = null;
t.AddOrUpdate("boo", defaultValue, (k, v) => defaultValue);
}
Итак, что происходит?

Подробнее здесь: https://stackoverflow.com/questions/413 ... ddorupdate
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ConcurrentDictionary и ConcurrentBag для AddOrUpdate параллельно
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Что добавить для части обновления в ConcurrentDictionary AddOrUpdate
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Метод ConcurrentDictionary AddOrUpdate, вызывающий исключение IndexOutOfRangeException
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Безопасен ли поток AddOrUpdate в ConcurrentDictionary?
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Метод ConcurrentDictionary.AddOrUpdate в C# насколько он эффективен?
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»