C#中using關鍵字的作用及用法(借鑒大神,僅作為筆記用)


using的用途和使用技巧.

  1、  引用命名空間

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

  3、  使用using語句

 

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

    a)         比如在程序中常用的using System.Text;

    b)         引用命名空間,並不等於編譯器編譯時加載該命名空間所在的程序集,程序集的加載決定於程序中對該程序集是否存在調用操作,如果代碼中不存在任何調用操作則編譯器將不會加載using引入命名空間所在空間的程序集.因此,在源文件開頭,引入多個命名空間,並非加載多個程序集,不會造成’過度引用’的弊端

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

      創建別名的原因在於同一個文件中引入不同的命名空間中包括了相同名稱的類型。為了避免出現名稱沖突,可以通過設定別名來解決.

        例:using SGPoint = ShapMap.Geometries.Point

               Using SGPoint = System.Drawing.Point

      其實也可以通過類型全名稱來加以區分,但是最佳解決方案還是使用using

  3、  using 語句

    using語句允許程序員指定使用資源的對象應當何時釋放資源.using語句中使用的對象必須實現IDisposable接口.此接口提供了Dispose方法,該方法將釋放此對象的資源

使用規則:

      a)       using語句只能用於實現了IDisposable接口的類型,禁止為不支持IDisposable接口類型使用using語句,否則會出現編譯錯誤

      b)       using語句適用於清理單個非托管資源的情況,而多個非托管對象的清理最好以try-finaly來實現,因為嵌套using語句可能存在隱藏的Bug.內層using塊引發異常時,將不能釋放外層using塊的對象資源

using實質:

         在程序編譯階段,編譯器會自動將using語句生成try-finally語句,並在finally塊中調用對象的Dispose方法,來清理資源.所以,using語句等效於try-finally語句


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM