具有链接列表成员的对象的析构函数

时间:2011-08-09 00:40:38

标签: c#

我有一个包含一个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
    }

谢谢

1 个答案:

答案 0 :(得分:4)

不要做任何事情。

GC会自动为您处理,一旦不再引用任何未使用的顶点和多边形,就会收集它们。