У меня есть ConcurrentDictionary
.Я использую метод AddOrUpdate
для манипулирования его элементами.
Мой вопрос: возможно ли использовать параметр обновления AddOrUpdate
, чтобы содержать оператор if?Например, my ConcurrentDictionary
содержит объекты со строковым идентификатором и свойствами DateTime Date.
Я бы хотел - добавить к нему новый объект, если объект с данным Id не существует, - обновить его, если дата нового объекта равна или больше, чем существующая, если онменьше, чем ничего не делает.
В моем примере:
Dictionary.AddOrUpdate(testObject.Id,testObject,(k, v) => v);
Я должен изменить
(k, v) => v
на
if(v.Date >= existingItem.Date) (k, v) => v
else do nothing