C 中using的用法

2021-10-05 04:33:26 字數 2315 閱讀 8879

遇到過很多次using,但對於using到底有哪些用法一直沒有去了解過,通過學習,了解到using的三種用法,下面一一介紹

使用using匯入命名空間,這是一種最常見的用法了。using + 命名空間名字,這樣可以在程式中直接用命令空間中的型別,而不必指定型別的詳細命名空間

如:using system;

using + 別名 = 包括詳細命名空間資訊的具體的型別

使用它主要是可能兩個命名空間中可能有相同名字的型別,在呼叫時就要詳細寫明是哪個命名空間以便區分這些相同名字的型別,比較麻煩;用別名的方法會更簡潔,用到哪個類就給哪個類做別名宣告就可以了。注意:並不是說兩個名字重複,給其中乙個用了別名,另外乙個就不需要用別名了,如果兩個都要使用,則兩個都需要用using來定義別名的。

using system;

using system.collections.generic;

using system.diagnostics;

using system.io;

using system.linq;

using system.text;

using system.text.regularexpressions;

using system.threading.tasks;

using test1 = achunchun.test;

using test2 = bchunchun.test;

namespace kggraphstructure

}}namespace achunchun

}}namespace bchunchun}}

是用來簡化資源釋放的,在一定的範圍內有效,using則是定義乙個範圍,一旦出了這個範圍,自動呼叫idisposable釋放掉該物件資源,但是並不是所有物件都能使用using語句,只有實現了idisposable介面的類才可以使用,禁止為不支援idisposable介面的型別使用using語句,否則會出現編譯錯誤。

using語句的使用

1.在using語句之前宣告物件

sqlconnection conn=new sqlconnection(connstring)  

using(conn)

2.在using語句之中宣告物件

sqlconnection conn=new sqlconnection(connstring)

3.可以有多個物件與 using 語句一起使用,但是必須在 using 語句內部宣告這些物件

using (font font3=new font("arial",10.0f), font4=new font("arial",10.0f))

使用規則:

1.using只能用於實現了idisposable介面的型別,禁止為不支援idisposable介面的型別使用using語句,否則會出現編譯錯誤;

2.using語句適用於清理單個非託管資源的情況,而多個非託管物件的清理最好以try-finnaly來實現,因為巢狀的using語句可能存在隱藏的bug。內層using塊引發異常時,將不能釋放外層using塊的物件資源;

3.using語句支援初始化多個變數,但前提是這些變數的型別必須相同,例如:

using(pen p1 = new pen(brushes.black), p2 = new pen(brushes.blue))

4.針對初始化多個不同型別的變數時,可以都宣告為idisposable型別,例如:

using (idisposable font = new font("verdana", 12), pen = new pen(brushes.black))

using實質

在程式編譯階段,編譯器會自動將using語句生成為try-finally語句,並在finally塊中呼叫物件的dispose方法,來清理資源。所以,using語句等效於try-finally語句,例如:

using (font f2 = new font("arial", 10, fontstyle.bold))

被編譯器翻譯為:

font f2 = new font("arial", 10, fontstyle.bold);

tryfinally

C 中using和new的用法

using 根據微軟msdn上的解釋,c 中的using共有三種用途 引用命名空間 為命名空間或型別建立別名 使用using語句。1 引用命名空間 用using來引用命名空間,可以直接在程式中使用命名空間下的型別而不必指定詳細的命名空間,如 using system.servicemodel等等。2...

C 中的using和namespace用法

using 第一,引用程式集 即namespace 1 using system 宣告了程式中用到的乙個命名空間 system 我們可以不需要申明這個空間名稱就能直接使用這個空間裡面的類了。console.writeline hello 2 using io system.io 給命名空間 syst...

using的幾種用法 C

using system using 引用命名空間 using system.collections.generic using system.text using system.io using system.data using system.data.sqlclient using syste...