Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果这样做:
foreach(var a in col) { a.X = 1; }
我对集合的迭代器会变得无效吗?
谢谢
不可以。您可以访问集合中项目的成员。您的代码有效。
您不能做的是在迭代时修改集合本身(通过删除或添加项目)。
它不应该引起问题。只有当您尝试col通过做col.Remove或col.Add我想象的内容来修改内容时才会出现问题。
col
col.Remove
col.Add