在C#中g(shù)lobal關(guān)鍵字的作用及其用法
global 是 C# 2.0 中新增的關(guān)鍵字,理論上說,如果代碼寫得好的話,根本不需要用到它。
假設(shè)你現(xiàn)在寫了一個類,名字叫 System。那么當(dāng)你再在代碼里寫 System 的時候,編譯器就不知道你是要指你寫的 System 類還是系統(tǒng)的 System 命名空間,而 System 命名空間已經(jīng)是根命名空間了,無法再通過完全限名來指定。在以前的 C# 版本中,這就是一個無法解決的問題?,F(xiàn)在,可以通過global::System來表示 System 根命名空間,而用你自己的MyNamespace.System來表示自己的類。
當(dāng)然,這種情況不應(yīng)該出現(xiàn),你不應(yīng)該寫一個名為 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標(biāo)記的類會從全局開始尋找,我的理解就是會從最外面逐漸向內(nèi)部尋找System類。
- C# 的關(guān)鍵字詳細(xì)介紹
- c#多線程中Lock()關(guān)鍵字的用法小結(jié)
- C#基礎(chǔ)知識系列八const和readonly關(guān)鍵字詳細(xì)介紹
- 深入探討C#中的const、readonly關(guān)鍵字
- C#中var關(guān)鍵字用法分析
- C#使用this關(guān)鍵字實現(xiàn)串聯(lián)構(gòu)造函數(shù)調(diào)用方法
- C# yield關(guān)鍵字詳解
- C#中Override關(guān)鍵字和New關(guān)鍵字的用法詳解
- C# partial關(guān)鍵字說明
- C#中AS和IS關(guān)鍵字的用法
- 常用C#關(guān)鍵字詳解教程(比較全面)
相關(guān)文章
C# WinForm調(diào)用Shell_NotifyIcon的示例代碼
這篇文章主要介紹了C# WinForm調(diào)用Shell_NotifyIcon的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-11-11
C# WPF實現(xiàn)讀寫CAN數(shù)據(jù)
這篇文章主要介紹了C# WPF實現(xiàn)讀寫CAN數(shù)據(jù),文中通過代碼示例給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-06-06

