我有一个包含一个Vertex成员的Polygon类。该成员是链接的顶点列表的一部分,它们是多边形的顶点。因此,Polygon对象只包含对其某些顶点的一个引用,并通过遍历链表来获取其他顶点。
问题是:销毁Polygon对象。我来自c ++,我在析构函数中做的是从多边形的顶点开始,在列表中移动并删除所有顶点。我该怎么做c#?首先没有删除,并且有自动垃圾收集,所以我不知道该怎么做。
这是c ++ Destructor的解释:
Polygon::~Polygon(void) {
if (_v) { // _v is Vertex member the Polygon has, the only one
Vertex *w = _v->cw();
while (w != _v) { // advance through the linked list members and delete them
delete w->remove();
w = _v->cw();
}
delete _v; // finally delete the vertex which is member of the polygon
}
谢谢
答案 0 :(得分:4)
不要做任何事情。
GC会自动为您处理,一旦不再引用任何未使用的顶点和多边形,就会收集它们。