0

我想使用 for-in 循环遍历我的集合,但是在这样的循环中修改我的数据结构(可以是字典或数组)的内容是不安全的。那是对的吗?会不会有什么副作用?我应该使用带索引的 for 循环吗?谢谢你。

4

2 回答 2

1

只要您不添加或删除对象,就可以了。也就是说,如果集合中的对象是可变对象,并且您对此进行了更改,那很好。只有当您向集合中删除、添加或替换对象时,您才会遇到麻烦。

于 2012-08-03T18:00:52.187 回答
1

简单的答案是,是的,理论上它会产生副作用。这取决于你在循环中做什么。如果没有更多信息,我会说坐下来用铅笔和纸进行合理的数学论证(归纳可选但推荐)以表明此过程永远不会破坏您的数据。

如果您正在修改数组的内容(例如,如果它是像素数组,则更改颜色),如果您计划好您的代码,您可能不会遇到太多麻烦。如果您要添加、删除或移动元素,请谨慎操作。

于 2012-08-03T18:02:52.123 回答