在字典中,定义是:
Dim 变量名 As New Dictionary(Of 键类型, 值类型)
其中:
Keys 属性 返回键的集合
Values 属性 返回值的集合
我的问题是如下,
如果定义成如这样:
Dim Dic1 As new Dictionary(of DataRow, Integer)
键就定义成了表格的行,我想获这个键的某一列内容是怎么办?
我试了很久,可以这样将字典键的某一列,及对应字典值找出来。
For Each dr As DataRow In dic1.Keys
Output.show(“键的姓名列:" & dr("姓名") & "--- 对应值:" & dic1(dr))
Next
如果定义成如这样:
Dim Dic1 As new Dictionary(of DataRow, DataRow)
字典的键和值的数据类型都是表格的行了,我试了很久,可以这样将字典键的某一列,及其对应的字典值的某一列找出来。
For Each dr As DataRow In dic1.Keys
Output.show(“键的姓名列:" & dr("姓名") & "--- 对应值的姓名列:" & dic1(dr)("姓名"))
Next
我本次要分享的问题,是如果将字典的键和值的数据类型都可设为表格的行,键保存老表格的行数据,值保存新表格的行数据,
如果将新表格的内容要更到新表格,用下面的语句,速度能大大的提高:
Dim Dic1 As new Dictionary(of DataRow, DataRow) ‘定义字典,键和值的数据类型都可设为表格的行
For Each dr As DataRow In DataTables("老表格").DataRows
Dim tr As DataRow
tr = DataTables("新表格").sqlfind("客户ID = '" & dr(“客户ID”)& “’”)
if tr isnot nothing then
Dic1.add(dr,tr) ’键为老表格的行,值为新表格的行
end if
Next
For Each dr As DataRow In dic1.Keys
dic1(dr)("姓名") = dr("新姓名") ‘将值的姓名内容,赋到键的姓名列
dic1(dr)("身份证号码") = dr("新身份证号码")
dic1(dr)("性别") = dr("新性别")
dic1(dr)("公司") = dr("新公司")
dic1(dr)("发放时间") = dr("新注册时间")
Next
[此贴子已经被作者于2020/2/3 18:22:54编辑过]