我知道有很多方法可以做得更好,但我已经在现有代码中看到了它,现在我想知道这是否会产生任何负面影响。请注意删除后的中断。因此,我一般不关心迭代器,但是,我确实关心意外行为(-> 潜在异常)。
foreach (var item in items)
{
//do stuff
if (item.IsSomething)
{
items.Remove(item); //is this safe???
break;
}
}
编译器是否也有可能以我不期望的方式优化某些东西?