zhcn 编程语言 Golang Go 文件处理 非公開: C# 析构函数

C# 析构函数

与“构造函数”类似,C#中的析构函数(也称为“终结器”)是类内的特殊成员函数,主要用于垃圾收集器重用类实例时所需的清理操作。

C#中的析构函数具有以下特点:

  • 析构函数只能在类中定义,不能在结构中定义。
  • 一个类中只能定义一个析构函数。
  • 析构函数不能被继承或重载。
  • 析构函数没有返回值。
  • 析构函数是自动调用的,不能手动调用。
  • 析构函数不能用访问修饰符修饰或包含参数。

析构函数的名称也与类名称相同,但名称必须以波形符~为前缀,如下所示。

class Car
{
    ~Car() 
    {

}
}

【示例】结合上面的构造函数,展示了如何在类中使用构造函数和析构函数。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            Student stu1 = new Student();
            Student stu2 = new Student();
        }
    }
    public class Student
    {
        public Student(){
            Console.WriteLine("Classのコンストラクター");
        }
        ~Student(){
            Console.WriteLine("Classのデストラクター");
        }
    }
} 

注意:您不能将访问修饰符应用于析构函数,因为它们无法外部公开。

《C#析构函数》浅显易懂的讲解!您必须观看的 2 个最佳视频

 
【プログラミング講座(C#)】第30回 コンストラクタとデストラクタについて【独り言】
https://www.youtube.com/watch?v=QLtu6AYrAOw
与“构造函数”类似,C#中的析构函数(也称为“终结器”)是类内的特殊成员函数,主要用于垃圾收集器重用类实例时所需的清理操作。

C#中的析构函数具有以下特点:

  • 析构函数只能在类中定义,不能在结构中定义。
  • 一个类中只能定义一个析构函数。
  • 析构函数不能被继承或重载。
  • 析构函数没有返回值。
  • 析构函数是自动调用的,不能手动调用。
  • 析构函数不能用访问修饰符修饰或包含参数。

析构函数的名称也与类名称相同,但名称必须以波形符~为前缀,如下所示。

class Car
{
    ~Car() 
    {

}
}

【示例】结合上面的构造函数,展示了如何在类中使用构造函数和析构函数。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            Student stu1 = new Student();
            Student stu2 = new Student();
        }
    }
    public class Student
    {
        public Student(){
            Console.WriteLine("Classのコンストラクター");
        }
        ~Student(){
            Console.WriteLine("Classのデストラクター");
        }
    }
} 

注意:您不能将访问修饰符应用于析构函数,因为它们无法外部公开。

《C#析构函数》浅显易懂的讲解!您必须观看的 2 个最佳视频

 
【プログラミング講座(C#)】第30回 コンストラクタとデストラクタについて【独り言】
https://www.youtube.com/watch?v=QLtu6AYrAOw