2014-09-29 39 views
0

我甚至不知道我該如何設定這個問題,以便你們都能得到我要求的東西。關鍵字如何在C#中工作?

我想知道關鍵字是如何工作在編程語言,具體來說,C#。在下面的代碼:

using System; 
namespace TestApplication 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string s = "Hello"; 
      Console.WriteLine(a.ToString()); 
      Console.ReadLine(); 
     } 
    } 
} 

這裏,Console是一個預定義的類System命名空間的位於在mscorlib.dll的。所以當編譯器/ CLR遇到Console.WriteLine()時,它會調用靜態方法WriteLine()併發生適當的過載。

因此,WriteLine方法和Console類的定義已經寫入並保存在mscorlib程序集的System命名空間中。

但是我的問題是編譯器/ CLR遇到關鍵字如using,namespace,class,static,它有什麼作用?它寫在哪裏必須將class關鍵字旁邊的單詞作爲新類型處理?它是否內置於編譯器/ CLR?它是如何工作的呢?

+2

關鍵字是'keyword'。編譯器知道它什麼時候遇到像'class'這樣的詞,它必須跟隨下面的內容(將它編譯成一個新類)。這被編入編譯器,並在C#語言規範中詳細說明。 – 2014-09-29 17:18:03

+1

查看「龍書」或任何其他書籍/編譯器上的文章... – 2014-09-29 17:18:32

+0

隨意[下載規格](http://www.microsoft.com/en-us/download/details.aspx?id= 7029)如果你真的想。 – 2014-09-29 17:19:09

回答

2

C#關鍵字,您可以看到完整列表here,內置於CSC壓縮程序中。當編譯器遇到任何關鍵字時,它就會被編程爲知道要做什麼以及要做什麼。

1

這是編譯器的一部分,而不是BCL。請查閱language specification,其中詳細解釋了編譯器在遇到任何關鍵字時必須執行的操作。