変更中のリストを列挙すると便利なことがあります。変更中に列挙できるリストタイプはありますか?
foreach (var item in listOfEntities)
item.Update();
// somewhere else (with someEntity contained in listOfEntities)
// an add or remove is made:
someEntity.OnUpdate += (s,e) => listOfEntities.Remove(someEntity);
listOfEntities
がList<T>
ある場合、これは失敗します。
コピーや単純なforループのような回避策がありますが、それぞれ違う欠点がありますが、フレームワーク(またはオープンソース)にリストタイプがあるかどうかを知りたいと思います。
これは 'List'の制限ではありません。これは列挙型の制限ですので、 'foreach'ではなく' for'を使用してください。 –
@ M.Babcock:もちろん、あなたは 'for'ループを使うことができますが、それはあなたのプログラムが適切に動作することを意味するものではありません。 –
@EdS。 - そのような実装があっても(間違っていることを証明するためにJon Skeetの待ち行列に入っている)、OPのプログラムが正しく動作するという保証はありません。 –