国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

談C# using的用法與好處

2019-10-29 21:28:33
字體:
來源:轉載
供稿:網友
這篇文章主要為大家詳細介紹了C# using的用法與好處,具體分析了using指令調用的Dispose()方法,感興趣的朋友可以參考一下
 

之前的一篇文章中的代碼中有一個using的用法,剛開始查看了一些資料說是強制關閉對象的一個命令。今天又查了一些資料,才明白,原來using指令調用了一個方法——Dispose()方法。而Dispose()方法的作用就是釋放所有的使用資源。

例:

public void ExecuteCommand( string connString, string commandString ) {  SqlConnection myConnection = new SqlConnection( connString );  SqlCommand mySqlCommand = new SqlCommand( commandString,   myConnection );   myConnection.Open();  mySqlCommand.ExecuteNonQuery(); } 

這個例子中的兩個可處理對象沒有被恰當的釋放:SqlConnection和SqlCommand。兩個對象同時保存在內存里直到析構函數被調用。

解決這個問題的方法就是在使用完命令和鏈接后就調用它們的Dispose:

public void ExecuteCommand( string connString, string commandString ) {  SqlConnection myConnection = new SqlConnection( connString );  SqlCommand mySqlCommand = new SqlCommand( commandString,   myConnection );   myConnection.Open();  mySqlCommand.ExecuteNonQuery();   mySqlCommand.Dispose( );  myConnection.Dispose( ); } 

使用using語句也可以很好的實現此功能,而且代碼很清晰:

public void ExecuteCommand( string connString, string commandString ) {  using ( SqlConnection myConnection = new  SqlConnection( connString ))  {   using ( SqlCommand mySqlCommand = new SqlCommand( commandString, myConnection ))   {    myConnection.Open();    mySqlCommand.ExecuteNonQuery();   }  } } 

當你在一個函數內使用一個可處理對象時,using語句是最簡單的方法來保證這個對象被恰當的處理掉。當這些對象被分配時,會被編譯器放到一個try/finally塊中。

SqlConnection myConnection = null;  // Example Using clause: using ( myConnection = new SqlConnection( connString )) {  myConnection.Open(); }   // example Try / Catch block: try {  myConnection = new SqlConnection( connString );  myConnection.Open(); } finally {  myConnection.Dispose( ); } 

有時候使用try/finally塊的時候會發現如果發生錯誤,程序不會報錯。本人感覺還是使用using語句比較好。
以上就是本文的全部內容,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆林市| 济阳县| 永城市| 会宁县| 山阳县| 虞城县| 江津市| 卫辉市| 台湾省| 宁陵县| 醴陵市| 望城县| 镇平县| 巴彦淖尔市| 青铜峡市| 宝应县| 福泉市| 沿河| 门头沟区| 淄博市| 文成县| 南充市| 广平县| 淳安县| 昌平区| 广汉市| 资阳市| 龙岩市| 常宁市| 文水县| 余庆县| 成安县| 沁水县| 黄平县| 通化市| 奉节县| 西安市| 大理市| 南澳县| 金川县| 全椒县|