析构函数与构造函数正好相反,构造函数是对象初始化时执行,而析构函数是释放对象时执行。
析构函数特点:
1.与类同名,但要在类名前加~
2.不能有返回值
3.没有参数
4.不能被重载
5.不能显示调用
6.不能用public修饰
class A
{
static void Main()
{
A a = new A();
Console.Read();
}
public A()
{
Console.WriteLine("构造函数");
}
~A()
{
Console.WriteLine("释放函数");
}
}
运行结果:
构造函数
按一下回车键,控制台会显示:
释放函数
补充:
C#中用的其实是垃圾回收
GC Gargbage Collection
当我们程序结束之后,GC会扫描整个内存,发现,如果有的空间没有被指向,
则马上把这块空间销毁。