文章出處

一:using語句

SqlConnection conn = new SqlConnection(connString);

try

{

conn.Open();

//……

}

finally

{

conn.Close();

}

在代碼中,finally塊中調用Close()方法釋放連接,確保即使沒有異常發生,連接也能被釋放。除了使用try-catch-finally語句外,也可以通過使用using語句盡快釋放資源

語法:

using(SqlConnection conn=new SqlConnection(connString))

{

//數據庫操作代碼

}

二 using 語句的兩個作用:

①:作為關鍵字,using可以導入命名空間

②:作為C#語句,using可以釋放對象占用的內存資源

注:

using可以讓程序員不手動關閉連接對象

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

解析:

非托管,C#應用托管到.NET Framework.但是他可以釋放非托管資源。

 

三 using語句原理

using可以釋放對象,但并非所有的對象前都可以使用using來限制

原因:

using可以主動釋放的對象都需要實現IDisable接口。

 

為什么出了using所在的{},會自動回收對象。

原因是當我們將要出{},系統自動調用了Dispose()方法。

而在DISpose方法中是這么實現的

注:Dispose方法會自動調用Close()

 

要想讓一個類型可以通過using管理,該類型或者父類必須實現了IDisposable接口。

 using(SqlConnection con=new SqlConnection)

{

   //本質上自動調用了Dispose方法

}

close()dispose()區別?

解析:

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

 

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()