您好,我正在尝试从 arrayList 中删除所有可被 2 整除的数字。问题是,删除一个元素后,我得到一个 InvalidOperationException。
private ArrayList RemoveDivTwo(ArrayList list) {
int count = 0;
foreach(int i in list){
if ((i > 2) && (i % 2 == 0)) {
list.RemoveAt(count);
}
count++;
}
return list;
}
我怎样才能解决这个问题,这样我就不会出现异常并且能够删除所有可被二整除的元素?
尝试以这种方式迭代它。
for(int i = 0; i < list.Count(); i++){
if ((list[i] > 2) && (list[i] % 2 == 0)) {
list.RemoveAt(i);
i--; //as offsets have shifted by one due to removal
}
}
您不再迭代列表。所以这应该有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)