如何在foreach中删除一个集合中的元素
2016-08-02 15:04
281 查看
如何在foreach中删除一个集合中的元素,其实很简单,只用一个递归就可以了,例如下面的一个代码判断一个listbox里面的items都是checkbox其中被选中的全部都删除
这样就OK了,因为你在foreach中删除多个元素的话,它的会抛出一个异常说集合以修改,无法用枚举信息,因为你删除了一个元素以后集合中的元素数量已经变了,但是foreach还是用的以前的长度,所以就会出现这个(InvalidOperationException)用递归的话每次删除以后都是新的foreach自然就不存在这个问题了
void removef() { foreach (CheckBox item in lst.Items) { if (item.IsChecked == true) { lst.Items.Remove(item); removef(); return; } } }
这样就OK了,因为你在foreach中删除多个元素的话,它的会抛出一个异常说集合以修改,无法用枚举信息,因为你删除了一个元素以后集合中的元素数量已经变了,但是foreach还是用的以前的长度,所以就会出现这个(InvalidOperationException)用递归的话每次删除以后都是新的foreach自然就不存在这个问题了
相关文章推荐
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何删除一个集合中的多个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何删除一个集合中的多个元素
- 如何删除一个list集合里面的某个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何删除一个集合中的多个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何删除一个集合中的多个元素
- 删除一个集合中的元素
- 如何给数组添加元素,插入一个元素,删除一个元素,替换数组里面的元素,交换数组里面的元素
- 循环的时候如何安全地删除java集合的元素
- 犯了一个菜鸟必备的很郁闷的错误:for循环删除LinkedList集合中元素
- 如何删除JAVA集合中的元素
- foreach循环删除集合中的元素出现ConcurrentModificationException异常
- 如何删除JAVA集合中的元素
- php如何从数组中删除一个元素