私は持っていConcurrentDictionary
ます。AddOrUpdate
そのメソッドを使用してアイテムを操作します。
私の質問は:AddOrUpdate
の update パラメータを使用して if ステートメントを含めることは可能ですか? たとえば、 myConcurrentDictionary
には、文字列 Id と 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