什么时候应该使用析构函数?

时间:2013-10-09 15:09:54

标签: c#

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

public class MyClass
{
    ~MyClass()
    {

    }
}

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

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

1 个答案:

答案 0 :(得分:1)

程序员无法控制何时执行析构函数,因为这是由垃圾收集器决定的。垃圾收集器检查应用程序不再使用的对象。它认为这些对象有资格进行破坏并回收它们的记忆。程序退出时也会调用析构函数。当析构函数执行幕后发生的事情时,析构函数隐式调用对象基类上的Object.Finalize方法。 析构函数代码隐式转换为如下内容:

protected override void Finalize()
{
   try
   {
      // Cleaning up .
   }
   finally
   {
      base.Finalize();
   }
}