標籤:情境 ace final cat pos void try name system
1.using指令。using + 命名空間名字,這樣可以在程式中直接用命令空間中的類型,而不必指定類型的詳細命名空間,類似於Java的import,這個功能也是最常用的,幾乎每個cs的程式都會用到。用在命名空間裡
如:using System; 這個誰都知道,為了不用寫類的全名(可以把System.Console 寫成 Console)
2.using別名。using + 別名 = 包括詳細命名空間資訊的具體的類型。
這種做法有個好處就是當同一個cs引用了兩個不同的命名空間,但兩個命名空間都包括了一個相同名字的類型的時候。當需要用到這個類型的時候,就每個地方都要用詳細命名空間的辦法來區分這些相同名字的類型。而用別名的方法會更簡潔,用到哪個類就給哪個類做別名聲明就可以了。
可以用來對一個類進行重新命名,也是為了使用方便,如:
using System;
using hahaha = System.Console;
namespace Console001
{
public class Class1
{
public static void Main()
{
hahaha.WriteLine("using 的第二種用法!");
}
}
}
3.using語句,定義一個範圍,在範圍結束時處理對象。
情境:
當在某個程式碼片段中使用了類的執行個體,而希望無論因為什麼原因,只要離開了這個程式碼片段就自動調用這個類執行個體的Dispose。
要達到這樣的目的,用try...catch來捕捉異常也是可以的,但用using也很方便。
using (R r1 = new R ()) {
r1.F();
}
在C#中被翻譯為:
R r1 = new R();
try {
r1.F();
}
finally {
if (r1 != null) ((IDisposable)r1).Dispose();
}
r1當然要支援Dispose()方法了
C# using