>故障排除“集合已被修改;
进行此错误的方法。
可能的罪魁祸首是一个回调,例如NotifySubscribers
,在
循环:SignalData
NotifySubscribers
原始代码:foreach
修改的代码:
<code class="language-csharp">foreach(Subscriber s in subscribers.Values)</code>
>通过使用
>创建<code class="language-csharp">foreach(Subscriber s in subscribers.Values.ToList())</code>的副本,枚举在循环开始时在字典状态的快照上运行。 对原始字典的任何后续修改都不会影响枚举,从而消除了错误的回调是问题的来源。 这将循环与外部更改隔离,从而确保平稳执行。
>
以上是如何修复'收集的修改;枚举操作可能不会执行” WCF中的错误?的详细内容。更多信息请关注PHP中文网其他相关文章!