1
这没有意义即使找到密钥,密钥更新失败
我有一系列的数据字典,我试图创建另一个。
所以,我通过东西循环和检查键,更新键适用,但遇到了奇怪的问题
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
这个令人沮丧的问题任何帮助非常感谢!
我不认为'卖(“splitPay1”)'在字典中 – AbZy
@AbZy的关键 - 确实如此。 – Oded
我明白你来自哪里,但事实并非如此。销售(“splitPay1”)和销售(“splitType1”)来自数据库表。他们不能在那里。对不起,我会更新这个问题,因为那部分不清楚。 –