-2

所以基本上我有一个字典,它存储为特定客户端(标识符)打开的所有表单。当这个客户端断开连接时,我需要关闭为客户端打开的所有表单。

但是,当我在每个表单上调用 Close() 时,字典都会被修改,并且出现异常:“InvalidOperationException:Collection 已修改;枚举操作可能无法执行。”

我的代码:

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 回答