いくつかのタスク内で辞書を使用しています。
論理的には、キーが衝突しないように設定しましたが、ディクショナリに追加しているときにこの例外が発生することがあります。
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()
同じキーを複数回削除または追加しようとすると、同時実行の問題が発生する可能性があることは理解していますが、それをアルゴリズムで説明しました。
追加が時々失敗する原因は何ですか? それを回避する最善の方法は何ですか?