我通过AutoCAD文档的许多程序集进行批量打印。我有一个递归方法,遍历每个绘图,以验证它是否有任何子项,然后进入每个孩子,看看他们是否有任何孩子......等等(递归)。
我遇到了一张我已经打印过的图画,对于我来说,通过该图纸并再次打印所有的孩子是完全没用的。
所以...我想建立一个虚拟列表,如果你愿意的话,我想建立树视图中项目的精确副本。我会用它来验证我正在尝试打印的项目是否已存在于虚拟列表中,如果是这样的话...那么我只需在树中插入KeyValue,这样可以节省大量时间。
我认为我的字典宣言看起来像这样......
Dim dic_AllAssemblies As New Dictionary(Of String, TreeNodeCollection)
我截取了一个我的树视图的例子:
字典将包含主要顶部项目“ADF020-080A0”作为它的第一个键,并且在该键中将包含其所有子项的值...这甚至可能吗?它可能会下降6-7级甚至更多...字典或...列表可以处理吗?或者还有其他方法我还没知道吗?
ADF020-080A0
ADF020-081A0
M17981
M17981
ADF000-092AS
Etc...
Etc...
答案 0 :(得分:2)
我不知道任何不起作用的理由。使用词典,您可以.ContainsKey(string)
检查重复的键名。如果找到密钥,请跳过它。