今天碰到一个很奇怪的现象,先贴下代码给大家看看
后来一想,原因在这里:
假定条件成立:每一个元素都符合if里的要求,那么,当Remove掉第一条数据后,原来的第二条数据到了第一条,就是说,第一条数据被删除后后面的数据全部向前移了一位,然后for循环走到i=1,这个时候判断的是sites[1],这个时候的sites[0],也就是原本来的sites[1]就被跳过去了,所以最后删除的是一半的数据而不是全部的。
解决办法:
本文探讨了一个在遍历并删除List元素时常见的错误,解释了为何直接删除会导致部分元素被忽略,并提供了一个正确的解决方案。
今天碰到一个很奇怪的现象,先贴下代码给大家看看
后来一想,原因在这里:
假定条件成立:每一个元素都符合if里的要求,那么,当Remove掉第一条数据后,原来的第二条数据到了第一条,就是说,第一条数据被删除后后面的数据全部向前移了一位,然后for循环走到i=1,这个时候判断的是sites[1],这个时候的sites[0],也就是原本来的sites[1]就被跳过去了,所以最后删除的是一半的数据而不是全部的。
解决办法:
493

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