从ConcurrentDictionary <key,list <value =“”>&gt; </key,>中删除值

时间:2014-08-08 21:43:01

标签: c# concurrentdictionary

我正在编写一个(希望是)线程安全的数据结构,它本质上是HashSets的ConcurrentDictionary的包装。

我想做的是有几个像这样的方法:

private ConcurrentDictionary<K, HashSet<V>> _index = new ConcurrentDictionary<K, HashSet<V>>();

public void Remove(V value)
{
    // Remove all instances of value from _index
}

public void Remove(K key, V value)
{
    // Remove value from _index[key]
}

我希望TryRemove会存在类似于ConcurrentDictionary.AddOrUpdate(key,newValue,Func)的东西,但没有运气。对于常规字典来说,这两种Remove方法都很容易编写,但是当涉及到将它们合并起来时,我感到很茫然。有人指出我正确的方向? :)

0 个答案:

没有答案