日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
C#using作用透析三種用法不用愁

三種不同的C# using作用,令using關鍵字在.NET程序開發(fā)過程中占有重要的地位,特別是進行命名空間或創(chuàng)建別名時。

為宜川等地區(qū)用戶提供了全套網頁設計制作服務,及宜川網站建設行業(yè)解決方案。主營業(yè)務為成都做網站、成都網站制作、宜川網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

C# using作用,微軟MSDN上解釋總共有三種用途

1、引用命名空間。2、為命名空間或類型創(chuàng)建別名。3、使用using語句。

1、引用命名空間,這樣就可以直接在程序中引用命名空間的類型而不必指定詳細的命名空間。

這個就不用說了吧,比如大家最常用的:usingSystem.Text;

2、為命名空間或類型創(chuàng)建別名:

當同一個cs引用了不同的命名空間,但這些命名控件都包括了一個相同名字的類型的時候,可以使用using關鍵字來創(chuàng)建別名,這樣會使代碼更簡潔。注意:并不是說兩個名字重復,給其中一個用了別名,另外一個就不需要用別名了,如果兩個都要使用,則兩個都需要用using來定義別名的。

 
 
 
  1. usingSystem;  
  2. usingaClass=NameSpace1.MyClass;  
  3. usingbClass=NameSpace2.MyClass;  
  4. ......  
  5. //使用方式  
  6. aClassmy1=newaClass();  
  7. Console.WriteLine(my1);  
  8. bClassmy2=newbClass();  
  9. Console.WriteLine(my2); 

3、使用using語句,定義一個范圍,在范圍結束時處理對象。(不過該對象必須實現(xiàn)了IDisposable接口)。其功能和try,catch,Finally完全相同。
比如:

 
 
 
  1. using(SqlConnectioncn=newSqlConnection(SqlConnectionString)){......}//數據庫連接  
  2. using(SqlDataReaderdr=db.GetDataReader(sql)){......}//DataReader 

PS:這里SqlConnection和SqlDataReader對象都默認實現(xiàn)了IDisposable接口,如果是自己寫的類,那就要自己手動來實現(xiàn)IDisposable接口。比如:

 
 
 
  1. using(Employeeemp=newEmployee(userCode))  
  2. {  
  3. ......  
  4. }  
  5. Emlpoyee.cs類:  
  6. publicclassEmployee:IDisposable  
  7. {  
  8.  
  9. 實現(xiàn)IDisposable接口#region實現(xiàn)IDisposable接口  
  10. /**////  
  11. ///通過實現(xiàn)IDisposable接口釋放資源  
  12. ///  
  13. publicvoidDispose()  
  14. {  
  15. Dispose(true);  
  16. GC.SuppressFinalize(this);  
  17. }  
  18. /**////  
  19. ///釋放資源實現(xiàn)  
  20. ///  
  21. ///  
  22. protectedvirtualvoidDispose(booldisposing)  
  23. {  
  24. if(!m_disposed)  
  25. {  
  26. if(disposing)  
  27. {  
  28. //Releasemanagedresources  
  29. if(db!=null)  
  30. this.db.Dispose();  
  31. if(dt!=null)  
  32. this.dt.Dispose();  
  33. this._CurrentPosition=null;  
  34. this._Department=null;  
  35. this._EmployeeCode=null;  
  36.  
  37. }  
  38. //Releaseunmanagedresources  
  39. m_disposed=true;  
  40. }  
  41. }  
  42. /**////  
  43. ///析構函數  
  44. ///  
  45. ~Employee()  
  46. {  
  47. Dispose(false);  
  48. }  
  49. privateboolm_disposed;  
  50.  
  51. #endregion  

使用using語句需要注意的幾點:

3.1、對象必須實現(xiàn)IDisposeable接口,這個已經說過,如果沒有實現(xiàn)編譯器會報錯誤。
如:

 
 
 
  1. using(stringstrMsg="MyTest")  
  2.  
  3. {  
  4. Debug.WriteLine(strMsg);//Can'tbecompiled  
  5.  

3.2、第二個using對象檢查是靜態(tài)類型檢查,并不支持運行時類型檢查,因此如下形式也會出現(xiàn)編譯錯誤。

 
 
 
  1. SqlConnectionsqlConn=newSqlConnection(yourConnectionString);  
  2. objectobjConn=sqlConn;  
  3. using(objConn)  
  4. {  
  5. Debug .WriteLine(objConn.ToString());//Can'tbecompiled
    }

不過對于后者,可以通過“as”來進行類型轉換方式來改進。

 
 
 
  1. SqlConnectionsqlConn=newSqlConnection(yourConnectionString);  
  2. objectobjConn=sqlConn;  
  3. using(objConnasIDisposable)  
  4. {  
  5. Debug.WriteLine(objConn.ToString());  

3.3、當同時需要釋放多個資源時候,并且對象類型不同,可以這樣寫:

 
 
 
  1. using(SqlConnectionsqlConn=newSqlConnection(yourConnectionString))  
  2. using(SqlCommandsqlComm=newSqlCommand(yourQueryString,sqlConn))  
  3. {  
  4. sqlConn.Open();//Openconnection  
  5. //OperateDBhereusing"sqlConn"  
  6. sqlConn.Close();//Closeconnection  

如果對象類型相同,可以寫到一起:

 
 
 
  1. using(FontMyFont=newFont("Arial",10.0f),MyFont2=newFont("Arial",10.0f))  
  2. {  
  3. //useMyFontandMyFont2  
  4. }//compilerwillcallDisposeonMyFontandMyFont2 

3.4、using關鍵字只是針對C#語句,對于VB等其他語言還沒有對應的功能。

PS:本C# using的三種作用屬個人學習總結,歡迎交流。


網站題目:C#using作用透析三種用法不用愁
文章來源:http://www.5511xx.com/article/ccdopii.html