1

在 C# 中,我了解到我可以创建一个类析构函数,如下所示:

public class MyClass
{
    ~MyClass()
    {

    }
}

我的问题是我应该在什么时候以及在什么情况下在 C# 中使用析构函数,如果有的话?

我应该注意一个常见的用例吗?

4

1 回答 1

1

程序员无法控制何时执行析构函数,因为这是由垃圾收集器决定的。垃圾收集器检查应用程序不再使用的对象。它认为这些对象有资格销毁并回收它们的内存。程序退出时也会调用析构函数。当析构函数执行幕后发生的事情时,析构函数隐式调用对象基类的 Object.Finalize 方法。析构函数代码被隐式翻译成这样的:

protected override void Finalize()
{
   try
   {
      // Cleaning up .
   }
   finally
   {
      base.Finalize();
   }
}
于 2013-10-09T15:13:05.940 回答