-2

したがって、基本的に、特定のクライアント (識別子) に対して開かれたすべてのフォームを格納する辞書があります。このクライアントが切断されると、クライアントに対して開かれたすべてのフォームを閉じる必要があります。

しかし、各フォームで Close() を呼び出すと、Dictionary が変更され、「InvalidOperationException:Collection was modified; enumeration operation may not execute.」という例外が発生します。

私のコード:

foreach (var KeyValuePair in Clients[Identifier].Windows)
{
   KeyValuePair.Value.Close();
}

これを行う別の方法はありますか?

4

1 に答える 1

0

試すforeach (var KeyValuePair in Clients[Identifier].Windows.ToList())

PS: 含めることを忘れないでくださいusing System.Linq;

于 2013-07-15T20:50:03.373 に答える