c#中的析构函数
用于在对象被销毁时执行清理操作。它与构造函数相反,构造函数用于在对象创建时执行初始化操作。
- 析构函数是用于释放资源和执行清理操作的特殊方法
- 析构函数的名称与类名相同,但前面加上一个波浪线(~)作为前缀
- 析构函数在对象被销毁之前自动调用
// 析构函数
~ClassName()
{
// 析构函数的代码
}
示例1
using System;
public class MyClass
{
private int[] myArray;
public MyClass()
{
myArray = new int[100];
Console.WriteLine("Object created.");
}
~MyClass()
{
Console.WriteLine("Object destroyed.");
}
}
public class Program
{
public static void Main()
{
MyClass myObject = new MyClass();
Console.WriteLine("Press any key to destroy object.");
Console.ReadKey();
}
}
当MyClass
对象被销毁时,析构函数将输出Object destroyed.
。在Main
方法中,我们创建了一个MyClass
对象,并等待用户按下任意键来销毁该对象。
使用析构函数时,应该小心,因为它们可能会导致性能问题和内存泄漏。
注意点
1.只能对类使用析构函数。
2.一个类只能有一个析构函数。
3.无法继承或重载析构函数。
4.无法调用析构函数。 它们是被自动调用的。
5.析构函数既没有修饰符,也没有参数。
6.不应使用空析构函数。 如果析构函数为空,只会导致不必要的性能损失。