Я прочитал документацию MSDN, но толком ее не понял.
Я считаю, что поведение Set
- «заменить существующее или добавить» (атомарно).
Это правильно?
Я прочитал документацию MSDN, но толком ее не понял.
Я считаю, что поведение Set
- «заменить существующее или добавить» (атомарно).
Это правильно?
Ответы:
Add
ничего не делает (возвращает false
), если для этого ключа уже есть значение. Set
при необходимости выполняет вставку или обновление.
Remove
+ Add
оставит пробел посередине, когда другой поток, запрашивающий этот ключ, не получит подсказки ( Set
нет; своп обычно атомарный); как таковой, хотя Set
имеет тот же конечный результат, что и Remove
+ Add
, различие в механизме важно, поскольку оно может повлиять на других вызывающих.
Например, Добавить :
Возвращаемое значение
Тип: System.Boolean true, если вставка прошла успешно, или false, если в кэше уже есть запись, имеющая тот же ключ, что и key.
set
Заменяет ли Политика, если элемент существует?