重複の可能性:
foreach でリストを変更する最良の方法は何ですか?
があり、次のObservableCollection mycollection
ような列挙子で何かをしたいとします。
foreach(var x in mycollection)
{
// This will do something based on data of x and remove x from mycollection
x.Close();
}
このメソッドClose()
には 1 行のコードがあります - mycollection.Remove(x);
. このコードを実行すると、次のエラーが発生します。
コレクションが変更されました。列挙操作が実行されない場合があります。
Close()
アプリケーションの他の多くの場所で呼び出されるため、メソッドを変更できません。この問題を解決するにはどうすればよいですか?