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.不应使用析构函数。 如果析构函数为空,只会导致不必要的性能损失。

posted @ 2023-11-06 11:53  少年。  阅读(165)  评论(0编辑  收藏  举报