迭代时更改集合中的项目字段是否会使集合无效?

时间:2009-11-29 17:10:09

标签: c# iterator enumerators

如果:

foreach(var a in col) {
     a.X = 1;
}

我对集合的迭代器会变得无效吗?

由于

2 个答案:

答案 0 :(得分:2)

没有。您可以访问集合中项目的成员。您的代码有效。

你不能做的是在迭代时修改集合本身(通过删除或添加项目)。

答案 1 :(得分:2)

它不应该导致问题。只有当您尝试通过colcol.Remove修改col.Add的内容时,我才会想到会出现问题。