0

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...
4

1 に答える 1

2

うまくいかない理由がわかりません。ディクショナリを.ContainsKey(string)使用すると、重複するキー名をチェックする必要があります。キーが見つかった場合は、スキップします。

于 2013-05-01T21:04:44.243 に答える