我目前在我的班上有一本静态字典。虽然我已经在这本字典上实现了锁,但我得到了以下错误。
An InvalidOperationException has occurred. It reports a "collection was modified" error
这样做的原因是,有时一种方法是使用 foreach 读取字典,而另一个线程正在向其中删除或添加项目。我读到添加
lock ( ( (IDictionary<string,string>)dict_object).SyncRoot )
在发生读取/写入/删除的所有操作上将解决问题,但是我继续收到消息
does not contain a definition of SyncRoot are you missing a using directive
关于如何解决这个问题的任何建议?关于如何使我的静态字典线程安全的任何其他方式?我正在使用.Net 4.0