1 使用using釋放資源

2022-05-16 13:19:53 字數 801 閱讀 2331

using語句有二個關鍵字

>>作為關鍵字,using可以匯入命名空間

>>作為c#語句,using可以釋放物件占用的記憶體資源

語法:using(sqlconnection conn=new sqlconnection("data source=.;initial catalog=myschool;uid=sa"))

//資料庫操作**........

using語句允許使用者定義乙個範圍,並在範圍末尾釋放物件!

using釋放的是託管資源還是非託管資源?

解析:非託管,c#應用託管到.net framework.但是他可以釋放非託管資源。

1.using用法:

有人問,什麼樣的的語句可以使用using管理??

解析:稀缺的資源,才需要using管理。

接著有人問:what is less resource ?

例如:connection物件,io流。

02.dispose方法會自動呼叫close()

要想讓乙個型別可以通過using管理,該型別或者父類必須實現了idisposable介面。

using(sqlconnection con=new sqlconnection)

//本質上自動呼叫了dispose方法

2.1.close()和dispose()區別?

解析:close()只是關閉連線,但是通道沒有銷毀,dispose()不僅把連線給關閉了,而且把通道也給銷毀了。

using 資源清理

三 資源清理 由來 要理解清楚使用using語句強制清理資源,就首先從了解dispose模式說起,而要了解dispose模式,則應首先了解.net的垃圾 機制。net提供了dispose模式來實現顯式釋放和關閉物件的能力。dispose模式 dispose模式是.net提供的一種顯式清理物件資源的約...

Using 語句中出現異常,資源能夠被釋放嗎?

using語句在.net中常用來釋放實現system.idisposable介面的類的例項的資源。但是如果在using語句 現異常,該資源是否能夠被正確釋放?以下通過 來證明 namespace usingdemo private void test void button2click object...

Delphi釋放資源

經過這段時間對delphi中free 和 release 的仔細學習,先總結如下 1。form.free直接釋放資源後,呼叫ondestroy事件,但是沒有將form指標改為nil 2。form.release 等待資源不再使用後釋放資源,同樣不修改form指標為nil,所以在destroy中最好使...