老师您好!
想通过字典的键来获得两个值,在字典中存入数组,但为什么会都获得相同的值,代码如下:
Dim drs As List(of DataRow) = DataTables("销售").Select("单据编号 = 'XS20200707-005'") ‘这张单据里有两行数据
'设置成本均价
Dim Dic As new Dictionary(of Integer, Double())
Dim v(1) As Double
Dim CPCKh As DataRow
Dim CPh As DataRow
For i As Integer = 0 To drs.count-1
CPCKh = DataTables("商品库存").SQLfind("商品ID = '" & drs(i)("商品ID") & "' And 仓库ID = '" & drs(i)("仓库ID") & "'")
If CPCKh IsNot Nothing Then
v(0) = CPCKh("数量")
Else
v(0) = 0
End If
CPh = DataTables("商品").SQLfind("商品ID = '" & drs(i)("商品ID") & "'")
If cph IsNot Nothing AndAlso CPh("成本均价") > 0 Then
v(1) = CPh("成本均价")
Else
v(1) = drs(i)("单价")
End If
output.Show(v(0) & "和" & v(1)) 这里显示正常的两行值 -5和199 -8和158
Dic.Add(i, v) 为什么存进去的是两个相同的值?
Next
For Each k As Integer In Dic.Keys
Output.Show(K & ":" & Dic(k)(0)) 这里显示两个相同的值 0:-8 1:-8 正确应该是 -5 和 -8
Next
For Each k As Integer In Dic.Keys
Output.Show(K & ":" & Dic(k)(1)) 这里显示两个相同的值 0:158 1:158 正确应该是 199 和 158
Next