您的位置:首页 > 其它

Close()与Dispose()的区别

2010-04-26 09:23 218 查看
C#中析构函数,Close函数,Dispose函数的区别

C#中析构函数是有垃圾搜集器来调用的,当所引用的堆上的数据当无效时,会隐式调用。一般表现为当引用变量超出其作用域时就会调用。

Close函数和Dispose函数则是一种约定。调用Close函数释放资源后可能还需要再次使用,而Dispose函数释放的资源不再使用。

另外,如果类实现了IDisposable接口,实例化类时可以使用using关键字,则当超出using关键字作用域时会隐式调用Dispose函数,如:

using(CTest inst = new CTest())

{

//Do Something;

} //Call Dispose Method Here

this.dispose()已经释放了实例占用的资源
this.close()只是关闭一些连接或少量资源,实例还是存在的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: