欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在C#中g(shù)lobal關(guān)鍵字的作用及其用法

 更新時(shí)間:2016年03月29日 09:22:36   作者:王景  
global 是 C# 2.0 中新增的關(guān)鍵字,理論上說(shuō),如果代碼寫(xiě)得好的話(huà),根本不需要用到它,但是不排除一些特別的情況,比如修改別人的代碼,本文僅舉例說(shuō)明。

global 是 C# 2.0 中新增的關(guān)鍵字,理論上說(shuō),如果代碼寫(xiě)得好的話(huà),根本不需要用到它。

假設(shè)你現(xiàn)在寫(xiě)了一個(gè)類(lèi),名字叫 System。那么當(dāng)你再在代碼里寫(xiě) System 的時(shí)候,編譯器就不知道你是要指你寫(xiě)的 System 類(lèi)還是系統(tǒng)的 System 命名空間,而 System 命名空間已經(jīng)是根命名空間了,無(wú)法再通過(guò)完全限名來(lái)指定。在以前的 C# 版本中,這就是一個(gè)無(wú)法解決的問(wèn)題?,F(xiàn)在,可以通過(guò)global::System來(lái)表示 System 根命名空間,而用你自己的MyNamespace.System來(lái)表示自己的類(lèi)。

當(dāng)然,這種情況不應(yīng)該出現(xiàn),你不應(yīng)該寫(xiě)一個(gè)名為 System 的類(lèi)。

代碼演示:

復(fù)制代碼 代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace globalFunc
{
    class Program
    {
        static void Main(string[] args)
        {
            System sys = new System();
            global::System.Console.WriteLine("global.");
            global::System.Console.ReadKey();
        }
    }
    public class System { }
}

雖然using了一個(gè)System命名空間,但是下面還有一個(gè)public class System{ ... }類(lèi),這樣的話(huà),如果直接使用System.Console.WriteLine是會(huì)報(bào)錯(cuò)的,因?yàn)闀?huì)找到就近的System類(lèi),那么這個(gè)System類(lèi)里面沒(méi)有Console。所以如果需要使用的話(huà),就需要像上面一樣,使用global::System.Console.WriteLine,因?yàn)槭褂胓lobal標(biāo)記的類(lèi)會(huì)從全局開(kāi)始尋找,我的理解就是會(huì)從最外面逐漸向內(nèi)部尋找System類(lèi)。

相關(guān)文章

最新評(píng)論