以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 搞不懂 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151893) |
-- 作者:hb8888 -- 发布时间:2020/7/6 23:18:00 -- 搞不懂 大师:下面的语句为何加红色的代码就不行?字典的集合为空? Dim zd As new Dictionary(of String,List(of String))
Dim jh As new List(of String) jh = DataTables("类型表").GetValues("编号") For Each zf As String In jh \'Output.Show(zf) Dim jh1 As new List(of DataRow) jh1 = DataTables("类型表").Select("编号 = \'" & zf & "\'") \'Output.Show(jh1.Count) Dim jh2 As new List(of String) For Each tr As DataRow In jh1 jh2.Add(tr("索引")) Next zd.Add(zf,jh2) \'jh1.Clear \'jh2.Clear Next |
-- 作者:有点蓝 -- 发布时间:2020/7/7 8:51:00 -- 集合是引用类型,和添加到字典里面的是同一个对象。 再说循环里每次都是new的,也没有必要清空,完全多余
|
-- 作者:hb8888 -- 发布时间:2020/7/7 9:44:00 -- 那请问如果我把集合定义放在循环外部呢? |
-- 作者:有点蓝 -- 发布时间:2020/7/7 9:49:00 -- 放到哪都会影响字典里的集合。就1楼的用法有什么问题? |
-- 作者:hb8888 -- 发布时间:2020/7/7 10:59:00 -- 如果jh2的定义放在循环外面,不用jh2.clear,不重复增加吗? |
-- 作者:有点蓝 -- 发布时间:2020/7/7 11:01:00 -- 不适合放外面 |