List 移除时要注意的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Blog2015/article/details/49341925

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

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


正确的方法是:

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

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


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

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

如下:


错误的方式



正确的方式:






猜你喜欢

转载自blog.csdn.net/Blog2015/article/details/49341925