摘要
修改的集合进行操作就会出现这个错。
解决办法
代码,我们创建一个集合,并向集合中添加10个数,然后,我们循环再将这些数移除了。
Main(<> lst = List<> ( i = ; i < ; i++ ( item
30173707325-901990065.png" alt="">
方法坑了?我记得很久之前我也被坑过。很疑惑吧,其实也很简单,因为你如果移除了一项,集合的元素个数是变化的。这个时候元素会重排,第二个元素的索引由1变为0,后面的依次往前移动。
Main(<> lst = List<> ( i = ; i < ; i++ result = + + ( i = ; i < lst.Count; i++
代码为集合添加10个元素。然后输出当前集合的count,接着将索引为0的元素移除。这个时候集合中应该没有元素0了。然后输出集合的元素个数。输出此时的集合中索引和对应的值。如图所示
30174554622-928406122.png" alt="">
Main(<> lst = List<> ( i = ; i < ; i++ result = + + ( i = lst.Count - ; i >= ; i--
30175238638-1858005382.png" alt="">
Main(<> lst = List<> ( i = ; i < ; i++ result = + + ( i = ; i < lst.Count; i++ (lst[i] % ==
}
Console.Read();
}</span></pre>
30175631028-1651972608.png" alt="">
总结
原文链接:https://www.f2er.com/csharp/191527.html