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();
            }
        }

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

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

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

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

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

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

  • 相关阅读:
    poj 3070(矩阵快速幂入门)
    算阶乘质因数的个数(CodeForces 546D)
    hdu1237(表达式求值)
    分治法—hdu1007
    hdu-2089+初学数位dp!
    hdu-2089+初学数位dp
    线段树入门(更新单个节点)
    CodeForces 1131B(思维题)
    CodeForces 1040B(思维题)
    文献的查找下载与阅读
  • 原文地址:https://www.cnblogs.com/xiaoyehack/p/9204313.html
Copyright © 2011-2022 走看看