これは意味がありません
別の辞書を作成しようとしているデータの一連の辞書があります。
だから、私は何かをループしてキーをチェックし、該当するキーを更新していますが、最も奇妙な問題に遭遇しました
If completeDictionary.ContainsKey(sale("splitType1")) Then
completeDictionary(sale("splitType1")) += (sale("splitPay1") - pxValues)
Else
completeDictionary.Add(sale("splitType1"), (sale("splitPay1") - pxValues))
End If
ここでは、キーが存在するかどうかを確認し、キーがcompleteDictionary
存在する場合は名前を付けてsale("splitType1")
値を更新し、存在しない場合は新しい値を追加します。
これはうまくいくはずですが、キーを見つけているようですが、更新できません。次のエラーが発生します。
The given key was not present in the dictionary.
これは次の行を指します。
completeDictionary(sale("splitType1")) += (sale("splitPay1") - pxValues)
しかし、キーが存在しない場合、その行を実行するべきではありませんIf
。
completeDictionary
配列をループすることによって作成されます。
Dim completeDictionary As New Generic.Dictionary(Of String, Double)
For Each Type as string In paymentTypes << paymentTypes is simply an array
completeDictionary.Add(Type, 0.0)
Next
この苛立たしい問題の助けをいただければ幸いです。