C 中using的三種用法

2021-05-23 16:14:24 字數 1305 閱讀 5355

熟悉c++的人看到using就想到引用命名空間,當然在c#中也一樣。

但同時c#中的using比c++中的多了兩項功能,下面詳細說明。

第一種用法:using + 命名空間

這種用法跟c++的一樣,引用乙個命名空間,這樣在程式裡就可以直接引用命名空間裡的型別,而不用詳細指定其完整路徑。

例如:using system;

這樣當呼叫system.write()時就可以直接寫write()就可以了。

第二種用法:using + 別名 = 具體命名空間的型別

這種用法主要是用於當某一型別所在的命名空間的路徑過長,這樣可以使應用剛型別更加方便。

而且當引用的兩個命名空間中具有相同類名的兩個類時,只要為他們定義不同的類名就可以了。

例如:using system;    

using aclass = namespace1.myclass;    

using bclass = namespace2.myclass;   

namespace namespace1    

}   

}   

namespace namespace2    

}   

}   

namespace testusing   

}   

}  

第三種用法:

using (class1 c = new class1())

用於強制資源清理,清理非託管資源,不受gc控制的資源。using結束後會隱式的呼叫disposable方法。

當在某個**段中使用了類的例項,而希望無論因為什麼原因,只要離開了這個**段就自動呼叫這個類例項的dispose。要達到這樣的目的,用try...catch來捕捉異常也是可以的,但用using也很方便。但是要注意,當物件使用using關鍵字的時候,必須實現idisposable介面。

上面語句相當於:

class1 c = new class1();    

try    

catch()    

finally       

使用using的乙個例子:

class c : idisposable  

void idisposable.dispose()  

}  

class program  

console.writeline("now outside using statement.");  

console.readline();  

}  

C 中using的三種用法

using 指令有兩個用途 using關鍵字還用來建立using 語句定義乙個範圍,將在此範圍之外釋放乙個或多個物件。請參見 using 語句。http www.yaosansi.com blog article.asp?id 669 using namespace using alias type...

C 中 的三種用法

可null型別修飾符 對於一些不能為null的型別可以通過?的修飾使其為null。其中user?id可以很方便的來查詢例項的屬性的值而不用預先判斷例項是否為null。三元表示式 int value 1 1 1 0 判斷1 1返回true還是false,返回true就返回1,返回false就返回0 n...

C 中new三種用法

new operator new的表示式 string str new string abcde 既分配記憶體也初始化物件 operator new new的操作符 void buff operator new sizeof string 類似於malloc 只分配空間不進行初始化 placemen...