zoukankan      html  css  js  c++  java
  • 【c# 学习笔记】析构函数

      析构函数 用于在类销毁之前释放类实例所使用的托管和非托管资源。对应c#应用程序所创建的大多数对象,可以依靠.net Framework的垃圾回收站(GC)

    来隐式地执行内存管理任务。但若创建封装了非托管资源的对象,在应用程序使用完这些非托管资源之后,垃圾回收站将运行对象的析构函数(即Finalize方法)

    来释放这些资源。如下:

      

        class Person
        {     
             ~Person()
            {
                Console.WriteLine("析构函数被调用了");          
            }
     
        }

      该析构函数隐式地调用了基类Object的Finalize方法,上面析构函数被隐式地转换为如下代码:

      

        protected override void Finalize()
        {
            try
            {
                Console.WriteLine("析构函数被调用了");
            }
           finally
            {
                 base.Finalize();
            }
        }

      注:在定义析构函数时需要注意以下几点:

        ① 不能在结构体中定义析构函数,只能对类使用析构函数;

        ② 一个类只能有一个析构函数;

        ③ 无法继承或重载析构函数;

        ④ 无法显式地调用析构函数,析构函数是有垃圾回收器自动调用的;

        ⑤ 析构函数既没有修饰符也没有参数。

  • 相关阅读:
    失格
    救赎
    篝火晚会
    旅行家的预算
    荒诞
    mod
    clique
    序列
    [CF932E]Team Work & [BZOJ5093]图的价值
    NOIWC2018游记
  • 原文地址:https://www.cnblogs.com/xiaoyehack/p/9204313.html
Copyright © 2011-2022 走看看