有一段代码如下:
}
}
用foreach语句执行删除操作时会报集合已修改,可能无法执行枚举操作。
而用for语句则没问题,如下:
{
dgCampaign.ItemsSourceList.Remove(item);
SC.Delete(item);
}
注:
foreach 语句对实现 System.Collections.IEnumerable 或 System.Collections.Generic.IEnumerable<(Of <(T>)>) 接口的数组或对象集合中的每个元素重复一组嵌入式语句。foreach 语句用于循环访问集合,以获取您需要的信息,但不能用于在源集合中添加或移除项,否则可能产生不可预知的副作用。如果需要在源集合中添加或移除项,请使用 for 循环。