我想使用for-in循环遍历我的集合,但是在这样的循环中修改我的数据结构(可以是字典或数组)的内容是不安全的。对吗?它会有任何副作用吗?我应该使用带有索引的for循环吗?谢谢。
发布于 2012-08-04 02:00:52
只要你不添加或删除对象,你就没问题。也就是说,如果集合中的一个对象是可变对象,并且您对此进行了一些更改,这是可以接受的。只有当你去删除、添加或替换集合中的对象时,你才会遇到麻烦。
发布于 2012-08-04 02:02:52
答案很简单,是的,理论上它会有副作用。这取决于你在循环中做了什么。在没有更多信息的情况下,我会建议你坐下来,用纸和笔做一个合理的数学论证(归纳是可选的,但建议),以表明这个过程永远不会弄乱你的数据。
如果你正在修改数组的内容(例如,如果它是一个像素数组,改变颜色),如果你很好地计划你的代码,你可能不会遇到太多的麻烦。如果要添加、删除或移动元素,请谨慎操作。
https://stackoverflow.com/questions/11800895
复制相似问题