溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C# using 三種使用方式

發(fā)布時(shí)間:2020-07-04 14:00:06 來(lái)源:網(wǎng)絡(luò) 閱讀:295 作者:編程魔法師 欄目:編程語(yǔ)言

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ì)命名空間的辦法來(lái)區(qū)分這些相同名字的類型。而用別名的方法會(huì)更簡(jiǎn)潔,用到哪個(gè)類就給哪個(gè)類做別名聲明就可以了。

注意:并不是說(shuō)兩個(gè)名字重復(fù),給其中一個(gè)用了別名,另外一個(gè)就不需要用別名了,如果兩個(gè)都要使用,則兩個(gè)都需要用using來(lái)定義別名的。

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 的摘要說(shuō)明。
    /// </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語(yǔ)句

定義一個(gè)范圍,在范圍結(jié)束時(shí)處理對(duì)象。 

場(chǎng)景: 

當(dāng)在某個(gè)代碼段中使用了類的實(shí)例,而希望無(wú)論因?yàn)槭裁丛?,只要離開了這個(gè)代碼段就自動(dòng)調(diào)用這個(gè)類實(shí)例的Dispose。 

要達(dá)到這樣的目的,用try...catch來(lái)捕捉異常也是可以的,但用using也很方便。

using (Class1 cls1 = new Class1(), cls2 = new Class1())
{
  // the code using cls1, cls2
} // call the Dispose on cls1 and cls2




向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI