メインコンテンツへスキップ
< すべてのトピックに戻る

「InvalidOperationException」が出た場合は?

現在のオブジェクトの状態では、許可されていない操作を行おうとしました(例:foreachでリストの敵を順番に処理している最中に、そのリストから敵を削除しようとした)。

リストを順番に読んでいる最中(列挙中)に中身の数を変えてしまうと、次の順番がズレてシステムがパニックを起こすため、C#のルールとして禁止されているからです。

リストの中身を削除・追加する場合は、foreachではなく for文を逆順(末尾から0に向かって)で回すか、削除したい対象を別の「一時リスト」にメモしておき、ループが終わった後にまとめて削除してください。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に