程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 在C#中global關鍵字的作用及其用法

在C#中global關鍵字的作用及其用法

編輯:關於C語言

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

假設你現在寫了一個類,名字叫 System。那麼當你再在代碼裡寫 System 的時候,編譯器就不知道你是要指你寫的 System 類還是系統的 System 命名空間,而 System 命名空間已經是根命名空間了,無法再通過完全限名來指定。在以前的 C# 版本中,這就是一個無法解決的問題。現在,可以通過global::System來表示 System 根命名空間,而用你自己的MyNamespace.System來表示自己的類。

當然,這種情況不應該出現,你不應該寫一個名為 System 的類。

代碼演示:

復制代碼 代碼如下: 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了一個System命名空間,但是下面還有一個public class System{ ... }類,這樣的話,如果直接使用System.Console.WriteLine是會報錯的,因為會找到就近的System類,那麼這個System類裡面沒有Console。所以如果需要使用的話,就需要像上面一樣,使用global::System.Console.WriteLine,因為使用global標記的類會從全局開始尋找,我的理解就是會從最外面逐漸向內部尋找System類。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved