.Net Framework中哪个线程安全的集合有一个"Contains"作为其API之一?

Cui*_*崔鹏飞 4 .net concurrency .net-4.0 thread-safety

我知道ConcurrentDictionary有一个名为ContainsKey的API,但字典并不是我想要的.目前,我正在使用Enumerable中的"Contains"扩展方法,但该方法不是线程安全的.那么有任何线程安全的集合有一个"包含"方法吗?

谢谢.

Ree*_*sey 15

通常,Contains操作在并发集合中不是很有用.问题是,只要您确定集合"包含"或不包含某个对象,由于该检查而执行的逻辑不再有效,因为另一个线程可能已经添加或删除了该项目.

该ConcurrentDictionary类包含此方法实现的IDictionary,但使用目的实际上是使用AddOrUpdate,GetOrAdd和类似原子的方法.