1. 程式人生 > >C#中close和dispose區別

C#中close和dispose區別

Close是停業整頓
Dispose是炸燬

停業了,可以通過公關,再重開。物還是原來的物
炸燬了,想再開張,就只有重頭建起

C#中解構函式是有垃圾蒐集器來呼叫的,當所引用的堆上的資料當無效時,會隱式呼叫。一般表現為當引用變數超出其作用域時就會呼叫。

Close函式和Dispose函式則是一種約定。呼叫Close函式釋放資源後可能還需要再次使用,而Dispose函式釋放的資源不再使用。

另外,如果類實現了IDisposable介面,例項化類時可以使用using關鍵字,則當超出using關鍵字作用域時會隱式呼叫Dispose函式,如:

using(CTest inst = new CTest())

{

    //Do Something;

}  //Call Dispose Method Here