在C#中,我了解到我可以创建一个类析构函数,如下所示:
public class MyClass
{
~MyClass()
{
}
}
我的问题是我何时以及在什么情况下应该在C#中使用析构函数?如果有的话?
我应该注意一个常见的用例吗?
答案 0 :(得分:1)
程序员无法控制何时执行析构函数,因为这是由垃圾收集器决定的。垃圾收集器检查应用程序不再使用的对象。它认为这些对象有资格进行破坏并回收它们的记忆。程序退出时也会调用析构函数。当析构函数执行幕后发生的事情时,析构函数隐式调用对象基类上的Object.Finalize方法。 析构函数代码隐式转换为如下内容:
protected override void Finalize()
{
try
{
// Cleaning up .
}
finally
{
base.Finalize();
}
}