//定义的集合
private Hashtable taskList = Hashtable.Synchronized(new Hashtable());
//遍历集合(集合是有数据的,我填充了)
if (taskList != null && taskList.Count > 0)
{
foreach (Object key in taskList.Keys)
{
//这里省略业务
}
}
//移除集合元素的方法
private void RemoveTask(int key)
{
if (taskList.Contains(key))
taskList.Remove(key);
}
下图是遍历的时候,报错:集合已修改;可能无法执行枚举操作。

请问各位大神有什么好的解决方法吗?
1、我换用过List<>集合,然后再用倒序删除,也会出现这样的问题,因为我要删除的元素不是固定的,不是删除最后一个元素,也不是删除第一个元素,而是删除任何一个元素。
2、我在想是不是可以在删除的时候,先给集合上锁?