在C#中global症結字的感化及其用法。本站提示廣大學習愛好者:(在C#中global症結字的感化及其用法)文章只能為提供參考,不一定能成為您想要的結果。以下是在C#中global症結字的感化及其用法正文
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類。