91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 中using的作用是什么

發布時間:2021-07-08 14:42:12 來源:億速云 閱讀:315 作者:Leah 欄目:編程語言

本篇文章為大家展示了C# 中using的作用是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

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

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

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

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

2、為命名空間或類型創建別名:

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

usingSystem;  usingaClass=NameSpace1.MyClass;  usingbClass=NameSpace2.MyClass;  ......  //使用方式  aClassmy1=newaClass();  Console.WriteLine(my1);  bClassmy2=newbClass();  Console.WriteLine(my2);

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

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

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

using(Employeeemp=newEmployee(userCode))  {  ......  }  Emlpoyee.cs類:  publicclassEmployee:IDisposable  {   實現IDisposable接口#region實現IDisposable接口  /**////  ///通過實現IDisposable接口釋放資源  ///  publicvoidDispose()  {  Dispose(true);  GC.SuppressFinalize(this);  }  /**////  ///釋放資源實現  ///  ///  protectedvirtualvoidDispose(booldisposing)  {  if(!m_disposed)  {  if(disposing)  {  //Releasemanagedresources  if(db!=null)  this.db.Dispose();  if(dt!=null)  this.dt.Dispose();  this._CurrentPosition=null;  this._Department=null;  this._EmployeeCode=null;   }  //Releaseunmanagedresources  m_disposed=true;  }  }  /**////  ///析構函數  ///  ~Employee()  {  Dispose(false);  }  privateboolm_disposed;   #endregion  }

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

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

using(stringstrMsg="MyTest")   {  Debug.WriteLine(strMsg);//Can'tbecompiled   }

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

  1. SqlConnectionsqlConn=newSqlConnection(yourConnectionString);  

  2. objectobjConn=sqlConn;  

  3. using(objConn)  

  4. {  

  5. Debug .WriteLine(objConn.ToString());//Can'tbecompiled
    }

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

SqlConnectionsqlConn=newSqlConnection(yourConnectionString);  objectobjConn=sqlConn;  using(objConnasIDisposable)  {  Debug.WriteLine(objConn.ToString());  }

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

using(SqlConnectionsqlConn=newSqlConnection(yourConnectionString))  using(SqlCommandsqlComm=newSqlCommand(yourQueryString,sqlConn))  {  sqlConn.Open();//Openconnection  //OperateDBhereusing"sqlConn"  sqlConn.Close();//Closeconnection  }

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

using(FontMyFont=newFont("Arial",10.0f),MyFont2=newFont("Arial",10.0f))  {  //useMyFontandMyFont2  }//compilerwillcallDisposeonMyFontandMyFont2

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

上述內容就是C# 中using的作用是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐亭县| 新建县| 陆丰市| 二连浩特市| 汶上县| 资溪县| 阿瓦提县| 阿勒泰市| 黔东| 宣恩县| 武宁县| 思茅市| 和顺县| 金门县| 垫江县| 中卫市| 泰宁县| 沐川县| 巴中市| 华坪县| 格尔木市| 广河县| 凤冈县| 若羌县| 平昌县| 三原县| 哈密市| 岗巴县| 巨野县| 高安市| 永吉县| 甘德县| 枝江市| 秦皇岛市| 大兴区| 白河县| 太仓市| 时尚| 郴州市| 呼和浩特市| 卓尼县|