集合已修改;枚举 *** 作可能无法执行

集合已修改;枚举 *** 作可能无法执行,第1张

集合已修改;枚举 *** 作可能无法执行

可能发生的情况是,SignalData在循环期间间接更改了后台的订户字典并导致该消息。您可以通过更改

foreach(Subscriber s in subscribers.Values)

foreach(Subscriber s in subscribers.Values.ToList())

如果我说对了,问题就会消失

呼叫

subscribers.Values.ToList()
将的值复制
subscribers.Values
到的开头
foreach
。没有其他人可以访问此列表(它甚至没有变量名!),因此在循环内没有人可以对其进行修改。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5567592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存