栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在C#中,函数名称前的波浪号是什么意思?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在C#中,函数名称前的波浪号是什么意思?

〜是析构函数

  1. 析构函数是自动调用的,不能显式调用。
  2. 析构函数不能重载。因此,一个类最多可以具有一个析构函数。
  3. 析构函数不会被继承。因此,一个类除了可以在其中声明的析构函数外,没有其他析构函数。
  4. 析构函数不能与结构一起使用。它们仅与类一起使用。当不再有任何代码使用该实例时,该实例就可以销毁。
  5. 在实例符合销毁条件后的任何时候都可以执行该实例的析构函数。
  6. 当实例被销毁时,其继承链中的析构函数按从最大派生到最小派生的顺序被调用。

完成

在C#中,Finalize方法执行标准C 析构函数将执行的操作。在C#中,您没有将其命名为Finalize,而是使用C

析构函数语法在类名之前放置波浪号(〜)符号。

处理

最好将对象放置在类的用户可以显式调用的

Close()
Dispose()
方法中。GC调用Finalize(析构函数)。

IDisposable的 接口告诉世界,你的类保存到需要处置资源,并为用户提供一种方式来释放他们。如果确实需要在类中实现终结器,则Dispose方法
使用该

GC.SuppressFinalize()
方法来确保实例的终结被抑制。

使用什么?

显式调用析构函数是非法的。您的析构函数将被垃圾收集器调用。如果确实要处理您想尽快关闭并处置的宝贵的非托管资源(例如文件句柄),则应实现IDisposable接口。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/576238.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号