集合已修改,可能无法执行枚举操作

常规是foreach循环过程中对象发生变化,此处的变化不包括对象内属性的修改,仅限于对象。

案例:
List<Person> Persons;
foreach(Person p in Persons)
{
p = new Person();
//错误,对象发生了变化。
p = existPerson; 
//错误,对象发生了变化。
p.Name = "Lanny";
//正确,属性是允许修改的。
}

posted @ 2017-08-25 12:49  sunlyk  阅读(134)  评论(0编辑  收藏  举报