【发布时间】:2009-11-29 17:10:09
【问题描述】:
如果这样做:
foreach(var a in col) {
a.X = 1;
}
我对集合的迭代器会失效吗?
谢谢
【问题讨论】:
标签: c# iterator enumerators
如果这样做:
foreach(var a in col) {
a.X = 1;
}
我对集合的迭代器会失效吗?
谢谢
【问题讨论】:
标签: c# iterator enumerators
没有。您可以访问集合中项目的成员。您的代码有效。
你不能做的是在迭代时修改集合本身(通过删除或添加项目)。
【讨论】:
这应该不会造成问题。只有当您尝试通过执行col.Remove 或col.Add 来修改col 的内容时,我才会认为会有问题。
【讨论】: