这没有任何意义
我有一系列数据字典,我试图从中创建另一个。
所以,我正在遍历东西并检查密钥,在适用的情况下更新密钥,但遇到了最奇怪的问题
If completeDictionary.ContainsKey(sale("splitType1")) Then
completeDictionary(sale("splitType1")) += (sale("splitPay1") - pxValues)
Else
completeDictionary.Add(sale("splitType1"), (sale("splitPay1") - pxValues))
End If
这里我们检查是否存在一个键,如果键存在completeDictionary
,则使用 then 的名称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
非常感谢您对这个令人沮丧的问题的任何帮助!