using(){},Close(),Dispose()的区别
生活随笔
收集整理的這篇文章主要介紹了
using(){},Close(),Dispose()的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//用Close(),Dispose()方式關閉連接
string connString = "Data Source=(local);Initial Catalog=Linq;Integrated Security=SSPI";
SqlConnection conn = new SqlConnection(connString);
conn.Open();
conn.Close();
conn.Dispose();//用using方式關閉連接
string connString = "Data Source=(local);Initial Catalog=Linq;Integrated Security=SSPI";//用windows用戶登錄
using (SqlConnection conn = new SqlConnection(connString))
{conn.Open();
} Close()以后還能打開;Dispose()相當于清除,之后就不能再打開了;
用using(){}的方式:在出了作用域以后就會調用Dispose(),SqlConnection、FileStream等的Dispose()內部會先做判斷,如果沒有Close()則會先調用Close()再執行Dispose(),
所以用using(){}相當于
try
{
//do something.
}
finally
{
Close();
Dispose()
}
這一點我們通過反編譯SqlConnection類的Dispose()方法查看源代碼也可以確定:
用using(){}的方式:在出了作用域以后就會調用Dispose(),SqlConnection、FileStream等的Dispose()內部會先做判斷,如果沒有Close()則會先調用Close()再執行Dispose(),
所以用using(){}相當于
try
{
//do something.
}
finally
{
Close();
Dispose()
}
這一點我們通過反編譯SqlConnection類的Dispose()方法查看源代碼也可以確定:
轉載于:https://www.cnblogs.com/yangyong-yy/p/5411904.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的using(){},Close(),Dispose()的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在visual studio 2010+
- 下一篇: 深入C#类的方法