C#如何正確的釋放資源

原文鏈接:https://www.cnblogs.com/fdyang/p/3456258.html

此標題可以爲“.NET 框架如何正確的釋放資源”。參考:https://www.cnblogs.com/fdyang/p/3456258.html

 

託管的內存資源,這是不需要我們操心的,系統已經爲我們進行管理了。

對於非託管的資源,這裏再重申一下,就是Stream,數據庫的連接,GDI+的相關對象,還有Com對象等等這些操作系統資源,需要我們手動去釋放。

 

如何去釋放,應該把這些操作放到哪裏比較好呢。.Net提供了三種方法,也是最常見的三種,大致如下:

1. 析構函數;

2. 繼承IDisposable接口,實現Dispose方法;

3. 提供Close方法。

 

析構函數

Dispose方法

Close方法

意義

銷燬對象

銷燬對象

關閉對象資源

調用方式

不能被顯示調用,會被GC調用

需要顯示調用

或者通過using語句

需要顯示調用

調用時機

不確定

確定,在顯示調用或者離開using程序塊

確定,在顯示調用時

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章