幾種using 的用法小結(jié)
1.using指令。using + 命名空間名字,這樣可以在程序中直接用命令空間中的類型,而不必指定類型的詳細命名空間,類似于Java的import,這個功能也是最常用的,幾乎每個cs的程序都會用到。
例如:using System; 一般都會出現(xiàn)在*.cs中。
2.using別名。using + 別名 = 包括詳細命名空間信息的具體的類型。
這種做法有個好處就是當同一個cs引用了兩個不同的命名空間,但兩個命名空間都包括了一個相同名字的類型的時候。當需要用到這個類型的時候,就每個地方都要用詳細命名空間的辦法來區(qū)分這些相同名字的類型。而用別名的方法會更簡潔,用到哪個類就給哪個類做別名聲明就可以了。注意:并不是說兩個名字重復,給其中一個用了別名,另外一個就不需要用別名了,如果兩個都要使用,則兩個都需要用using來定義別名的。
例如:
using System;
using aClass = NameSpace1.MyClass;
using bClass = NameSpace2.MyClass;
namespace NameSpace1
{
public class MyClass
{
public override string ToString()
{
return "You are in NameSpace1.MyClass";
}
}
}
namespace NameSpace2
{
class MyClass
{
public override string ToString()
{
return "You are in NameSpace2.MyClass";
}
}
}
namespace testUsing
{
using NameSpace1;
using NameSpace2;
/// <summary>
/// Class1 的摘要說明。
/// </summary>
class Class1
{
/// <summary>
/// 應用程序的主入口點。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此處添加代碼以啟動應用程序
//
aClass my1 = new aClass();
Console.WriteLine(my1);
bClass my2 = new bClass();
Console.WriteLine(my2);
Console.WriteLine("Press any key");
Console.Read();
}
}
}
3.using語句,定義一個范圍,在范圍結(jié)束時處理對象。
場景:
當在某個代碼段中使用了類的實例,而希望無論因為什么原因,只要離開了這個代碼段就自動調(diào)用這個類實例的Dispose。
要達到這樣的目的,用try...catch來捕捉異常也是可以的,但用using也很方便。
例如:
using (Class1 cls1 = new Class1(), cls2 = new Class1())
{
// the code using cls1, cls2
} // call the Dispose on cls1 and cls2
這里觸發(fā)cls1和cls2的Dispose條件是到達using語句末尾或者中途引發(fā)了異常并且控制離開了語句塊。
相關(guān)文章
使用ASP.NET?Web?API構(gòu)建Restful?API
這篇文章介紹了使用ASP.NET?Web?API構(gòu)建Restful?API的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04淺談ASP.NET Core 中間件詳解及項目實戰(zhàn)
這篇文章主要介紹了淺談ASP.NET Core 中間件詳解及項目實戰(zhàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-12-12Entity?Framework實現(xiàn)數(shù)據(jù)遷移
本文詳細講解了Entity?Framework實現(xiàn)數(shù)據(jù)遷移的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03.NET Core WebApi中如何實現(xiàn)多態(tài)數(shù)據(jù)綁定實例代碼
這篇文章主要給大家介紹了關(guān)于.NET Core WebApi中如何實現(xiàn)多態(tài)數(shù)據(jù)綁定的相關(guān)資料,文中通過示例代碼介紹的非常詳細,并給出來完整的實例代碼,需要的朋友可以參考借鑒,下面來一起學習學習吧2018-08-08ASP.NET WebService中使用ASP.NET_SessionId的問題說明
proxy.CookieContainer存儲了客戶端的 ASP.NET_SessionId。這樣以后每次通過webservice 方法調(diào)用時,都會將ASP.NET_SessionId傳遞到服務器端。2011-09-09