1.不能在在循环内部删除或增加元素;
可能原因是,在执行foreach循环时,集合内部有一个变量用于记录集合中元素的个数,每次遍历时会检测这个变量有无发生变化,如果发生变化,则抛出异常。
2.不能在循环内部修改元素(无论值类型还是引用类型);
可能原因是,在遍历IEnumerator<T>的过程中,把当前的元素(即Current)暴露为只读属性。
3.可以在循环内部修改对象的属性。
1.不能在在循环内部删除或增加元素;
可能原因是,在执行foreach循环时,集合内部有一个变量用于记录集合中元素的个数,每次遍历时会检测这个变量有无发生变化,如果发生变化,则抛出异常。
2.不能在循环内部修改元素(无论值类型还是引用类型);
可能原因是,在遍历IEnumerator<T>的过程中,把当前的元素(即Current)暴露为只读属性。
3.可以在循环内部修改对象的属性。