【C#】集合已修改;可能无法执行枚举操作。

问题

在使用foreach执行列表移除操作时,报错

代码

foreach (var item in list)
{
    if (判断条件)
    {
        list.Remove(item);
    }
}
复制代码

解决

方法一**:使用for循环**

for (int i = 0; i < list.Count; i++)
{
    if (判断条件)
    {
        list.RemoveAt(i);
        i--;
    }
}
复制代码

方法二:使用ToArray方法

foreach (var item in list.ToArray())
{
    if (判断条件)
    {
        list.Remove(item);
    }
}
复制代码

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享