C#中close和dispose区别

来源:互联网 发布:英国订车票软件 编辑:程序博客网 时间:2024/06/05 21:02
Close是停业整顿
Dispose是炸毁

通俗明了-----by metababy

停业了,可以通过公关,再重开。物还是原来的物
炸毁了,想再开张,就只有重头建起


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

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

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

using(CTest inst = new CTest())

{

    //Do Something;

}  //Call Dispose Method Here