修改集合时出错

本文关键字:出错 集合 修改 | 更新日期: 2023-09-27 18:18:39

在将元素添加到List<>时,我总是得到集合被修改错误,而它被用于for I或foreach循环,它使交叉线程有点复杂。是否缺少一个特殊的类,在修改集合时不会使枚举数无效?

修改集合时出错

如果您正在尝试从您正在循环的集合中添加或删除项目,那么您将收到InvalidOperationException

为了避免这种情况,您需要创建并遍历当前迭代的数组/列表的副本,或者创建一个临时列表来承载您正在进行的更改,然后使用该列表来更新原始源代码。

至于从集合中删除(删除)项,您还可以向后迭代集合的副本并在需要时删除项,这不会造成麻烦,因为它不会对剩余待迭代项的索引产生负面影响。