質問: 下記コードのForEachを使った処理で1~4の処理中にDownLoadDataListのカウントが変化すると 次のMoveNextでエラーになるのでしょうか? ループが1週した後に、ForEachまで来ると下記のエラーがでます。 **InvalidOperationException: Collection was modified; enumeration operation may not execute.** ``` foreach (DownLoadData downloaddata in DownLoadDataList) { 1処理・・・・・・ 2処理・・・・・・ 3処理・・・・・・ 4処理・・・・・・ } ``` DownLoadDataListはList<DownLoadData>で定義されています。 環境はUnity5.0.1f1 .Netは2.0です。
回答: 仕様通りの動作です。リストのバージョンが変わるとそれ以前に`List.GetEnumerator()`の返した`IEnumerator`は無効になります。 要件に合わせて`List.ToArray()`や`Enumerable.ToList()`でリストを複製するようにしてください。