C# IDisposable接口与using关键字

来源:互联网 发布:建筑信息模型软件培训 编辑:程序博客网 时间:2024/05/16 17:00

一,简介

接口其实就是一种规范,一种标准,实现该接口的类要遵循该标准,所以就具备该接口标准要求的功能或特性。

C#中的IDisposable接口就是一种非常有用且非常常用的接口,该接口要求类实现Dispose()方法,在该方法中释放占用的资源。如果在析构函数中释放资源要等到垃圾回收时,太晚了。

但是手动调用Dispose方法稍微有点麻烦,而且也怕忘了调用,这样资源也得不到及时释放,所以可以使用using关键字,using关键字代码块的末尾会自动调用Dispose方法。

二,示例

class Database:IDisposable    {        public void visitDatabase()        {            Console.WriteLine("开始访问数据库");        }        public void Dispose()        {            Console.WriteLine("释放数据库连接资源");        }        //主函数,测试入口        static void Main(string[] args)        {            //手工释放            Database db = new Database();            db.visitDatabase();            db.Dispose();            //using关键字自动释放            using (Database db2 = new Database())            {                db2.visitDatabase();            }            //using关键字自动释放            Database db3 = null;            using (db3 = new Database())            {                db3.visitDatabase();            }        }    }

运行结果:
这里写图片描述

原创粉丝点击