より良い方法がたくさんあることは知っていますが、既存のコードでそれを見たので、これが悪影響を与える可能性があるかどうか疑問に思っています. 削除直後の切れ目に注意してください。したがって、一般的にイテレータは気にしませんが、予期しない動作 (-> 潜在的な例外) は気にします。
foreach (var item in items)
{
//do stuff
if (item.IsSomething)
{
items.Remove(item); //is this safe???
break;
}
}
また、コンパイラが予期しない方法で何かを最適化する可能性はありますか?