Arrays 即使找到键,按键更新字典也会失败
这毫无意义 我有一系列的数据字典,我正试图从中创建另一个 所以,我在循环查找资料,检查密钥,在适用的地方更新密钥,但遇到了最奇怪的问题Arrays 即使找到键,按键更新字典也会失败,arrays,vb.net,collections,dictionary,Arrays,Vb.net,Collections,Dictionary,这毫无意义 我有一系列的数据字典,我正试图从中创建另一个 所以,我在循环查找资料,检查密钥,在适用的地方更新密钥,但遇到了最奇怪的问题 If completeDictionary.ContainsKey(sale("splitType1")) Then completeDictionary(sale("splitType1")) += (sale("splitPay1") - pxValues) Else completeDictionary.Add(sale("splitTyp
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
Dim completeDictionary作为新的泛型词典(字符串,双精度)
对于paymentTypes中的每个字符串类型,您只需检查splitType1
,还可以访问splitPay1
-这可能是缺少的条目:
completeDictionary(sale("splitType1")) += (sale("splitPay1") - pxValues)
我不认为sale(“splitPay1”)
是字典中的关键,我知道你来自哪里,但事实并非如此。sale(“splitPay1”)和sale(“splitType1”)来自数据库表。他们不可能不在那里。抱歉,我将更新问题,因为那部分不清楚。@JamieHartnoll-你调试了吗?你检查过了吗?啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!!很抱歉你说得对,我改变了该死的表格行名称!!!真不敢相信我在那上面浪费了这么多时间。。。我去拿外套!