以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 字典中多字段字段计算 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=196539) |
-- 作者:creastzh -- 发布时间:2025/5/11 15:07:00 -- 字典中多字段字段计算 字典中多字段字段计算 我有以Item为Key值的多个字段A,B,C,D需要求和, 因此写了程序: dim d as new dictionary (of string, Integer()) for each dr as datarow in drs
if not d.contains(dr("Item")) then
d.add(dr("item"), dr("a"),dr("b"),dr("c"),dr("d")) \'这里就报错了
else
d.remove(dr("Item"))
d.add(dr("Item"),d(dr("Item"))(0)+dr("a"),d(dr("Item"))(1)+dr("b"),d(dr("Item"))(2)+dr("c"),d(dr("Item"))(3)+dr("d")) \'
end if next
这里怎么都调试通不过, 有什么办法吗? 还有是否一定要先使用 d.remove(xx)方式重新赋值? 有没有简单一些的方式, 谢谢! |
-- 作者:有点蓝 -- 发布时间:2025/5/11 19:28:00 -- d.add(dr("item"), {dr("a"),dr("b"),dr("c"),dr("d")}) 或者 dim tmp() as Integer = {dr("a"),dr("b"),dr("c"),dr("d")} d.add(dr("item"), tmp)
|
-- 作者:y2287958 -- 发布时间:2025/5/12 9:21:00 -- 例如: Dim d As New dictionary (Of String, Integer()) From {{"A", {11, 22, 33, 44}}} Dim 数组() As Integer = {1, 2, 3, 4} Dim 字典键名 As String = "A1" d(字典键名) = ({数组(0) + d("A")(0), 数组(1) + d("A")(1), 数组(2) + d("A")(2), 数组(3) + d("A")(3)}) For Each k As String In d.Keys Output.Show (String.join(",", d(k))) Next |