2

我正在内存中的图形上运行一些操作,这些操作会修改图形本身。我需要多次重复这些操作,随后的重复必须在图形的新副本上工作。由于图表是通过解析文件生成的,我真的不想每次重复都花时间重新解析文件,所以我走上了克隆原始图表的路线。

我的node,edgegraph类型都在实现ICloneable,但是我有一个循环引用链的问题。

Node存储Edge来自它的定向 s 的列表。Edge存储重量和Node它指向的。当两个节点共享一条双向边时,StackOverflowException当我尝试克隆任一节点时会得到一个,因为克隆任一节点的边列表总是意味着克隆另一个节点。

为了克隆的目的,解决这个循环引用的最佳方法是什么?

4

0 回答 0