解决 集合已修改,枚举操作可能不会执行
foreach (object var in collection_to_loop)
{
//删除collection_to_loop中元素
}
for (int i = 0; i < obj.length; i++)
{
//删除obj中元素
}
以上两种遍历方式 在删除遍历对象中元素时是不可以的。
正确的方法是:
for (int i = obj.length; i > 0; i++)
{
//删除操作
}
这类问题非常常见,不光是C#,其他语言也是
本文探讨了在遍历集合过程中安全地删除元素的方法。详细解释了为何不能直接在foreach循环内删除当前集合的元素,并提供了一种有效的解决策略:采用倒序for循环来避免并发修改异常。

774

被折叠的 条评论
为什么被折叠?



