把对象的初始化工作放在构造函数中,把清除工作放在析构函数中。当对象被创建时,构造函数被自动执行。当对象消亡时,析构函数被自动执行。这样就不用担心忘记对象的初始化和清除工作。

析构函数是由垃圾回收器控制的.

析构函数是由垃圾回收器控制的.把对象的初始化工作放在构造函数中,把清除工作放在析构函数中。当对象被创建时,构造函数被自动执行。当对象消亡时,析构函数被自动执行。这样就不用担心忘记对象的初始化和清除工作。一般不要定义析构函数,如果要释放非托管资源的话,就让该类继承IDisposable接口,实现Dispose模式。

using中的申明的对象确实可以释放,可以参考示例。

using System;

namespace ConsoleApplication7
{
    /// <summary>
    /// test 的摘要说明。
    /// </summary>
    public class Test:IDisposable
    {
        public Test(string name)
        {
            this.name = name;
        }

        private string name;

        public string Name
        {
            get{return name;}
            set{name = value;}
        }

        public static void Main()
        {
            Console.WriteLine("Programme Start!");

            Test test1 = new Test("1");
            using(test1)
            {
            }
            using(Test test2 = new Test("2"), test3 = new Test("3")) 
            {
                Test test4 = new Test("4");
            }

            Console.WriteLine("Programme Over!");
            Console.ReadLine();
        }

        #region IDisposable 成员

        public void Dispose()
        {
            Console.WriteLine("{0}正在释放资源",name);
        }

        #endregion
    }

}

证明这个方法是可行的

最新文章

  1. python实现汉诺塔
  2. python常用数据类型内置方法介绍
  3. Qt属性表控件的使用 QtTreePropertyBrowser
  4. TRSWCM学习问题总结
  5. OpenJudge 2815 城堡问题 / Poj 1164 The Castle
  6. 读书笔记-《基于Oracle的SQL优化》-第一章-3
  7. string.Format()字符串格式化
  8. Ajax的基本请求/响应模型
  9. HTML5的三种存储方式以及区别
  10. iOS的相对路径和绝对路径
  11. 最大K段和题解
  12. Linux磁盘管理及LVM讲解
  13. 小程序问题集:保存失败:Error: ENOENT: no such file or directory, open
  14. python 接口自动化测试二(request.get)
  15. ASP.NET Core Identity 实战(2)——注册、登录、Claim
  16. Python 简单的远程执行命令
  17. Calendar add 方法 和set方法
  18. Mysql 模糊匹配(字符串str中是否包含子字符串substr)
  19. 【LeetCode】34. Search for a Range
  20. 二、StreamAPI

热门文章

  1. Deep Learning 32: 自己写的keras的一个callbacks函数,解决keras中不能在每个epoch实时显示学习速率learning rate的问题
  2. springboot 项目 docker化部署
  3. 为什么越来越多公链项目将WASM拥入怀中?
  4. iOS中键盘的收起
  5. 【POJ 2411】 Mondriaan&#39;s Dream
  6. 分析Android (build/core/*.mk脚本)
  7. AndroidStudio修改主题外观和字体大小
  8. 移动web开发-------meta
  9. web前端安全机制问题全解析
  10. Table View Programming Guide for iOS---(三)----Overview of the Table View API