C#中using關(guān)鍵字的使用方法示例
這里記錄下C#中using關(guān)鍵字的使用方法。
Using的使用大致分別以下三種:
1 :using 指令(命名空間)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
2 :using 語句
某些類型的非托管對象有數(shù)量限制或很耗費(fèi)系統(tǒng)資源,在代碼使用完它們后,盡可能快的釋放它們時非常重要的。using語句有助于簡化該過程并確保這些資源被適當(dāng)?shù)奶幹茫╠ispose)。
這里大致分為兩種形式。
(1 ):using (ResourceType Identifier = Expression ) Statement
Using表達(dá)式
圓括號中的代碼分配資源,Statement是使用資源的代碼
using語句會隱式產(chǎn)生處置該資源的代碼,其步驟為:
a:分配資源
b:把Statement放進(jìn)try塊
c:創(chuàng)建資源的Dispose方法的調(diào)用,并把它放進(jìn)finally塊
// using 語句 using (usings.factory fac = new usings.factory()) { fac.CreateProduct(); }
(2 ):using (Expression) Statement
Using對象
Expression 表示資源,Statement是使用資源,資源需要在using之前聲明
usings.factory facs = new usings.factory(); // using 對象 using (facs) { facs.CreateProduct(); }
Factory類:
namespace usings { public class factory : IDisposable { public void CreateProduct() { Console.WriteLine("創(chuàng)建了一個產(chǎn)品!"); } public void Dispose() { Console.WriteLine("該對象銷毀~"); } } }
這里需要說我遇到的一個小問題,如圖所示:
解決方法很簡單,自定義的類繼承IDisposable類,實現(xiàn)其Dispose方法。
具體如我上邊的代碼所示。
3 :using 別名
用using為命名空間或類型定義別名,當(dāng)引入的多個命名空間包含相同名字的類型時,需要使用該類型時,可以通過using為其指定別名,使代碼更加簡潔,避免沖突。
這里放上這次測試使用的全部代碼:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; // 別名 using afactory = usings.usingsaaa.factory; using bfactory = usings.usingsbbb.factory; namespace usings { class Program { static void Main(string[] args) { // using 語句 using (usings.factory fac = new usings.factory()) { fac.CreateProduct(); } Console.WriteLine("------------------------------------------"); usings.factory facs = new usings.factory(); // using 對象 using (facs) { facs.CreateProduct(); } Console.WriteLine("------------------------------------------"); // 別名 afactory a = new afactory(); // 代替usingsaaa.factory a.CreateProduct(); Console.WriteLine("------------------------------------------"); bfactory b = new bfactory(); // 代替usingsbbb.factory b.CreateProduct(); Console.ReadKey(); } } namespace usingsaaa { public class factory { public void CreateProduct() { Console.WriteLine("aaa工廠創(chuàng)建了一個產(chǎn)品!"); } } } namespace usingsbbb { public class factory { public void CreateProduct() { Console.WriteLine("bbb工廠創(chuàng)建了一個產(chǎn)品!"); } } } namespace usings { public class factory : IDisposable { public void CreateProduct() { Console.WriteLine("創(chuàng)建了一個產(chǎn)品!"); } public void Dispose() { Console.WriteLine("該對象銷毀~"); } } } }
以上就是對using關(guān)鍵字的一些總結(jié)。
總結(jié)
到此這篇關(guān)于C#中using關(guān)鍵字使用的文章就介紹到這了,更多相關(guān)C# using關(guān)鍵字使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解c# checked unchecked 關(guān)鍵字
本篇文章是對c#中的checked unchecked 關(guān)鍵字進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C#讀取或設(shè)置ScrollLock狀態(tài)的方法
這篇文章主要介紹了C#讀取或設(shè)置ScrollLock狀態(tài)的方法,涉及C#操作ScrollLock滾動狀態(tài)的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04解決C# X64應(yīng)用程序中讀取WParam溢出的問題
C#應(yīng)用程序是AnyCPU的,在一段處理鼠標(biāo)滾輪WM_MOUSEWHEEL的代碼里碰到溢出的問題OverflowException2013-04-04