C#析构函数(方法)

析构方法是在垃圾回收、释放资源时使用的。

析构函数用于析构类的实例。

备注:

  • 不能在结构中定义析构函数。只能对类使用析构函数。
  • 一个类只能有一个析构函数。
  • 无法继承或重载析构函数。
  • 无法调用析构函数。它们是被自动调用的。
  • 析构函数既没有修饰符,也没有参数。

析构方法的定义语法形式如下。
!!!!!!!!!!!!!!!
注意:析构方法的方法名必须与当前所在类名一样

~方法名()
{
    语句块;
}

在析构方法中不带任何参数,它实际上是保证在程序中会调用垃圾回收方法 Finalize()。

【实例】在 User 类中添加析构方法并验证析构方法的效果。

根据题目要求,析构方法是在类操作完成后调用的,代码如下。

~User()
{
    Console.WriteLine("调用了析构方法");
}

执行 Main 方法,效果如下图所示。
在这里插入图片描述

但是也有可能不会运行析构函数

程序员无法控制何时调用析构函数,因为这是由垃圾回收器决定的。垃圾回收器检查是否存在应用程序不再使用的对象。如果垃圾回收器认为某个对象符合析构,则调用析构函数(如果有)并回收用来存储此对象的内存。程序退出时也会调用析构函数。

可以通过调用 Collect 强制进行垃圾回收,但大多数情况下应避免这样做,因为这样会导致性能问题。有关更多信息,请参见强制垃圾回收。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花伤情犹在

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值