版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
利用For循环遍历整个数组,判断数组值是否要被移除,若需要,则直接移除
直接移除如下:
for( i = 0; i< NumberArray.Length ; i++){
if(满足条件)
{
NumberArray.RemoveAt(i);//此时移除后,index应该还是这个,而不是回到for加1
i--;//因此需要i-1,来保证index正确
}
}
此时,有一个问题,“ i-- ”的可阅读性比较差,而且i–对index直接操作,比较危险,容易出错。
解决方案:用for循环对数组遍历时,从后往前,这样移除了一个项后,也对下一项没有影响,因为前面的Index没有变化。就避免了“i–”的情况。
如:
for( i = NumberArray.Length; i > 0 ; i--){
if(满足条件)
{
NumberArray.RemoveAt(i);//此时就不需要i--
}
}