2.10C#函数成员之终结器(Finalizer)

终结器声明

终结器(Finalizer),以前称为 析构函数(Destructor),用于在类实例被垃圾回收器回收时执行任何必要的最终清理操作。因此,无法在结构中定义终结器,它们仅用于类。

终结器的声明方式与方法相似,名称为所属类的名称前加~波浪号,不过既不能包含参数和可访问性修饰符,也不能进行显式调用。

class Car
{
    //常规语法
    ~Car()  // finalizer
    {
        // cleanup statements...
    }
}
using System;

public class Destroyer
{
    public override string ToString() => GetType().Name;
    //Expression-bodied表达式声明法
    ~Destroyer() => Console.WriteLine($"The {ToString()} finalizer is executing.");
}

重载

终结器不支持重载。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/csharp/csharplang/8267.html

(0)
上一篇 2021年2月9日 20:05
下一篇 2021年2月24日 21:08

相关推荐

  • 1.3C#语言的运算符(Operator)和表达式(Expression)

    1.一元运算符 运算符 描述 +x 一元 + 运算符返回其操作数的值。 -x 一元 – 运算符对其操作数的数值取负。 ++x ++x 的结果是按 1 递增其操作数后的 x 的值。 –x –x 的结果是按 1 递减其操作数后的 …

    C#语言教程 2021年1月3日
    04430
  • 1.7C#语言的异常(Exception)语句

    异常类派生自System.Exception类。 throw 使用 throw 关键字,程序可以显式生成异常。 e 是一个派生自 System.Exception类 的异常类的实例。 try-catch try…catch 语句用于捕获在代码块执行…

    C#语言教程 2021年1月7日
    02410
  • 3.8C#引用类型之集合(Collection)

    与数组不同,集合的长度(元素的个数)可以动态改变,可以向集合添加、删除元素 。 1.集合分类 1.1System.Collections.Generic 类 当集合中的所有元素都具有相同的数据类型时,泛型集合会非常有用。 类 说明 Dictionary<TKey,TValue> 表示基于键进行组织的键/值对…

    C#语言教程 2021年3月8日
    02480

发表评论

登录后才能评论