using的几种用法
using的幾種用法
1.using指令。using + 命名空間名字,這樣可以在程序中直接用命令空間中的類型,而不必指定類型的詳細(xì)命名空間,類似于Java的import,這個(gè)功能也是最常用的,幾乎每個(gè)cs的程序都會(huì)用到。
例如:using System; 一般都會(huì)出現(xiàn)在*.cs中。
2.using別名。using + 別名 = 包括詳細(xì)命名空間信息的具體的類型。
這種做法有個(gè)好處就是當(dāng)同一個(gè)cs引用了兩個(gè)不同的命名空間,但兩個(gè)命名空間都包括了一個(gè)相同名字的類型的時(shí)候。當(dāng)需要用到這個(gè)類型的時(shí)候,就每個(gè)地方都要用詳細(xì)命名空間的辦法來區(qū)分這些相同名字的類型。而用別名的方法會(huì)更簡潔,用到哪個(gè)類就給哪個(gè)類做別名聲明就可以了。注意:并不是說兩個(gè)名字重復(fù),給其中一個(gè)用了別名,另外一個(gè)就不需要用別名了,如果兩個(gè)都要使用,則兩個(gè)都需要用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>
????????///?應(yīng)用程序的主入口點(diǎn)。
????????///?</summary>
????????[STAThread]
????????static?void?Main(string[]?args)
????????{
????????????//
????????????//?TODO:?在此處添加代碼以啟動(dòng)應(yīng)用程序
????????????//
????????????
????????????aClass?my1?=?new?aClass();????????????
????????????Console.WriteLine(my1);
????????????bClass?my2?=?new?bClass();
????????????Console.WriteLine(my2);
????????????Console.WriteLine("Press?any?key");
????????????Console.Read();
????????}
????}
}
3.using語句,定義一個(gè)范圍,在范圍結(jié)束時(shí)處理對(duì)象。
場景:
當(dāng)在某個(gè)代碼段中使用了類的實(shí)例,而希望無論因?yàn)槭裁丛?#xff0c;只要離開了這個(gè)代碼段就自動(dòng)調(diào)用這個(gè)類實(shí)例的Dispose。
要達(dá)到這樣的目的,用try...catch來捕捉異常也是可以的,但用using也很方便。
例如:
{
??//?the?code?using?cls1,?cls2
}?//?call?the?Dispose?on?cls1?and?cls2
這里觸發(fā)cls1和cls2的Dispose條件是到達(dá)using語句末尾或者中途引發(fā)了異常并且控制離開了語句塊。
總結(jié)
以上是生活随笔為你收集整理的using的几种用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 作者:孔新川,杭州迈宁数据科技有限公司创
- 下一篇: 获得 DataSet中的记录总数