在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)鍵字詳細介紹
- c#多線程中Lock()關(guān)鍵字的用法小結(jié)
- C#基礎(chǔ)知識系列八const和readonly關(guān)鍵字詳細介紹
- 深入探討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)文章
為IObservable實現(xiàn)自己的運算符(詳解)
下面小編就為大家?guī)硪黄獮镮Observable實現(xiàn)自己的運算符(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05Unity 實現(xiàn)鼠標(biāo)滑過UI時觸發(fā)動畫的操作
這篇文章主要介紹了Unity 實現(xiàn)鼠標(biāo)滑過UI時觸發(fā)動畫的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04C# http系列之以form-data方式上傳多個文件及鍵值對集合到遠程服務(wù)器
這篇文章主要介紹了C# http系列之以form-data方式上傳多個文件及鍵值對集合到遠程服務(wù)器,需要的朋友可以參考下2019-08-08C#實現(xiàn)3步手動建DataGridView的方法
這篇文章主要介紹了C#實現(xiàn)3步手動建DataGridView的方法,實例分析了C#實現(xiàn)手動創(chuàng)建DataGridView的原理與技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09Unity的Console的控制類LogEntries深入解析與實用案例
這篇文章主要為大家介紹了Unity的Console的控制類LogEntries深入解析與實用案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07