我在一些任务中使用字典。
从逻辑上讲,我已经设置了它,以便我的键永远不会发生冲突,但有时当我添加到字典时,我会得到这个异常。
Index was outside the bounds of the array.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Rpc.<MapIntoRpc>b__4[T](Object x) in Rpc.cs:line 113
at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
我知道尝试多次删除或添加相同的密钥可能会出现并发问题,但我已经在算法上考虑了这一点。
是什么导致添加有时失败?解决这个问题的最佳方法是什么?