C# Using用法三則
(1)引用命名空間
using作為引入命名空間指令的用法規則為:
using Namespace;
在.NET程序中,最常見的代碼莫過於在程序文件的開頭引入System命名空間,其原因在於System命名空間中封裝了很多最基本最常用的操作,如using System;
這樣,我們在程序中就可以直接使用命名空間中的類型,而不必指定詳細的類型名稱。using指令可以訪問嵌套命名空間。
命名空間
命名空間是.NET程序在邏輯上的組織結構,而並非實際的物理結構,是一種避免類名衝突的方法,用於將不同的數據類型組合劃分的方式。例如,在.NET中很多的基本類型都位於System命名空間,數據操作類型位於System.Data命名空間,
(2)創建命名空間別名
using為命名空間創建別名的用法規則為:
using alias = namespace | type;
其中namespace表示創建命名空間的別名;而type表示創建類型別名。
例如,在.NET Office應用中,常常會引入Microsoft.Office.Interop.Word.dll程序集,在引入命名空間時為了避免繁瑣的類型輸入,我們通常為其創建別名如下:
using MSWord = Microsoft.Office.Interop.Word;
這樣,就可以在程序中以MSWord來代替Microsoft.Office.Interop.Word前綴,如果要創建Application對象,則可以是這樣,
而且還有一個好處就是,在一個.CS文件中引入了不同的命名空間但是相同的類名的時候,用別名就可以解決這問題了。
(3)強製資源清理
用途:清理非托管資源(如文件句柄),不受GC控製的資源。Using結束後會隱式的調用Disposable方法。
用法:
using (Class1 c = new Class1())
{
}
//清理非托管不受GC控製的資源
但是當對象使用using關鍵字的時候,必須實現IDisposable接口。其實using的使用和try-catch-finaly中,在finaly代碼域調用Disposable方法效果一樣。注意Using不能使用多個不同的類
Class1 f = new Class1();
try
{
//執行代碼
}
catch()
{
//異常處理
}
finally
{
f.Disposable();
}
using 語句被翻譯成三個部分:獲取、使用和處置。
資源的使用隱式封閉在包含一個 finally 子句的 try語句中。此 finally 子句處置資源。如果獲取了 null 資源,則不進行對 Dispose 的調用,也不引發任何異常。
例如,下列形式的 using 語句
using (R r1 = new R())
{
r1.F();
}
完全等效於
R r1 = new R();
try
{
r1.F();
}
finally
{
if (r1 != null)
((IDisposable)r1).Dispose();
}
最後更新:2017-04-02 22:16:00