我有一个ConcurrentDictionary
. 我使用它的AddOrUpdate
方法来操作它的项目。
我的问题是:是否可以使用AddOrUpdate
's update 参数来包含 if 语句?例如 myConcurrentDictionary
包含具有字符串 Id 和 DateTime 日期属性的对象。
我想 - 添加一个新对象,如果具有给定 Id 的对象不存在 - 更新它,如果新对象的日期等于或大于现有的,如果小于,则不做任何事情。
在我的例子中:
Dictionary.AddOrUpdate(testObject.Id,testObject,(k, v) => v);
我应该改变
(k, v) => v
到
if(v.Date >= existingItem.Date) (k, v) => v
else do nothing