这没有任何意义
我有一系列数据词典,我试图创建另一个词典。
所以,我正在遍历各种东西并检查密钥,在适用的情况下更新密钥,但遇到了最棘手的问题
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
对这个令人沮丧的问题的任何帮助非常感谢!
答案 0 :(得分:0)
您只检查splitType1
,还访问splitPay1
- 这可能是缺少的条目:
completeDictionary(sale("splitType1")) += (sale("splitPay1") - pxValues)