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

标签 c# iterator enumerators

如果这样做:

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

我对集合的迭代器会失效吗?

谢谢

最佳答案

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

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

关于c# - 迭代时更改集合中的项目字段是否会使集合无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816071/

相关文章:

java - Java 枚举器语法

c# - 在数据库中创建新记录

c# - 将 byte[] 转换为 float[] 的最快方法是什么,反之亦然?

c# - 从另一个线程附加到文本框

wpf - 如何在 WPF 中迭代控件

ruby - 为什么 ruby​​ 的 inject 不能正确求和?

c# - 不使用 dynamic 关键字,我们可以根据泛型类型参数进行类型转换吗?

java - 使用Iterator遍历ArrayList并使用instanceof设置对象

c++ - 从 vector 中删除 vector::end

c# - 为什么枚举集合会抛出异常但循环遍历其项目却不会