This question already has answers here:
How to remove elements from a generic list while iterating over it?
(28个答案)
7年前关闭。
我试图从
有任何想法吗? 将 一起使用按索引向后迭代,删除匹配项
使用
(28个答案)
7年前关闭。
我试图从
ArrayList
中删除一个项目,但出现此异常:Collection was modified; enumeration operation may not execute.
有任何想法吗?
最佳答案
您要在foreach
期间删除项目,是吗?简单地说,你做不到。这里有一些常用选项:
List<T>
和RemoveAll
与谓词for(int i = list.Count - 1; i >= 0; i--) {
if({some test}) list.RemoveAt(i);
}
foreach
,并将匹配项放入第二个列表中;现在枚举第二个列表,并从第一个列表中删除那些项(如果您明白我的意思)