C# 我应该什么时候使用析构函数?
在C#中,我了解到我可以创建一个类析构函数,如下所示:C# 我应该什么时候使用析构函数?,c#,C#,在C#中,我了解到我可以创建一个类析构函数,如下所示: public class MyClass { ~MyClass() { } } 我的问题是什么时候,在什么情况下,我应该在C#中使用析构函数,如果有的话 是否有一个我应该注意的常见用例?程序员无法控制何时执行析构函数,因为这是由垃圾收集器决定的。垃圾收集器检查应用程序不再使用的对象。它认为这些对象符合销毁条件,并回收它们的内存。当程序退出时,也会调用析构函数。当析构函数执行幕后发生的事情时,析构函数隐式调用对象基
public class MyClass
{
~MyClass()
{
}
}
我的问题是什么时候,在什么情况下,我应该在C#中使用析构函数,如果有的话
是否有一个我应该注意的常见用例?程序员无法控制何时执行析构函数,因为这是由垃圾收集器决定的。垃圾收集器检查应用程序不再使用的对象。它认为这些对象符合销毁条件,并回收它们的内存。当程序退出时,也会调用析构函数。当析构函数执行幕后发生的事情时,析构函数隐式调用对象基类上的Object.Finalize方法。 析构函数代码隐式转换为如下内容:
protected override void Finalize()
{
try
{
// Cleaning up .
}
finally
{
base.Finalize();
}
}
程序员无法控制何时执行析构函数,因为这是由垃圾收集器决定的。垃圾收集器检查应用程序不再使用的对象。它认为这些对象符合销毁条件,并回收它们的内存。当程序退出时,也会调用析构函数。当析构函数执行幕后发生的事情时,析构函数隐式调用对象基类上的Object.Finalize方法。 析构函数代码隐式转换为如下内容:
protected override void Finalize()
{
try
{
// Cleaning up .
}
finally
{
base.Finalize();
}
}
仅供参考,可能永远不会。如果要管理资源,请使用IDisposable。“析构函数”是覆盖
Finalize
的语法糖。使用它手动关闭/清理资源,例如关闭流或类似的东西。仅供参考可能永远不会。如果要管理资源,请使用IDisposable。“析构函数”是覆盖Finalize
的语法糖。使用它手动关闭/清理资源,例如关闭流或类似的东西。