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

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

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

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

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

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

代碼演示:

復(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{ ... }類,這樣的話,如果直接使用System.Console.WriteLine是會(huì)報(bào)錯(cuò)的,因?yàn)闀?huì)找到就近的System類,那么這個(gè)System類里面沒有Console。所以如果需要使用的話,就需要像上面一樣,使用global::System.Console.WriteLine,因?yàn)槭褂胓lobal標(biāo)記的類會(huì)從全局開始尋找,我的理解就是會(huì)從最外面逐漸向內(nèi)部尋找System類。

相關(guān)文章

最新評(píng)論