删除ScrollView中的Item时,要注意的一个问题

来源:互联网 发布:罗盘软件 编辑:程序博客网 时间:2024/06/04 18:51

不要在遍历一个List 时,执行对该List 的Remove(Item)操作。

C#中会报错,Lua中可以,其他语言未知。 可以的也不推荐。


正确的方法是:

先将符合条件的 Item 放入一个 tempList 中 

再在其下面 遍历 tempList, 依次对其进行Remove


两层For循环Remove时,要注意,外层必须是tempList

顺序错误时,会导致结果错误(不一定)。这是由于每次移除后,原List结构变化导致的。

如下:


错误的方式



正确的方式:






0 0