.NET Core 实战 [No.82] 析构函数
析构函数(destructor)与构造函数(constructor)的作用正好相反。
构造函数在创建对象实例时调用,用于对类型成员初始化;
析构函数在对象实例即将被回收时执行,可用于一些清理工作。
析构函数以 ~
开头,无返回值,无参数,~
之后紧跟类名(无空格)。
csharp
class Test {
~Test() {
}
}
示例代码
Test.cs
csharp
using System;
namespace DestructorSample
{
class Test
{
public Test()
{
Console.WriteLine("构造函数被调用。");
}
~Test() {
Console.WriteLine("析构函数被调用。");
}
}
}
Program.cs
csharp
using System;
namespace DestructorSample
{
class Program
{
static void Main(string[] args)
{
Test();
GC.Collect(); // 垃圾回收
Console.ReadLine();
}
static void Test()
{
var test = new Test();
}
}
}
参考:《.NET Core 实战:手把手教你掌握 380 个精彩案例》 -- 周家安 著