2015-11-15 62 views
2

我很慚愧,這是在C#中完成的最基本的任務,我似乎無法弄清楚。是的,我可以編譯它並使其運行,但是我想對它進行剖析並逐字理解它。C#基礎理解問題

using System; *//"include standard System classes"* 
namespace DataTypeApplication *//"Create new classes within DataTypeApp..."* 
{ 
    class Program *//"Name this class "Program""* 
    { 
     static void Main(string[] args) *//Declares the main function of this class?* 
     { 
      Console.WriteLine("Size of int: {0}", sizeof(int)); *//Print string using sizeof(int)* 
      Console.ReadLine(); *//Irrelevant* 
     } 
    } 
} 

我很困惑,爲什麼會這樣運行。程序已創建但未被調用。而且,這會爲int輸出4,但是這4個來自哪裏呢?

我很感謝任何幫助理解這一點,但也許C#只是不適合我。 -_-

+0

「int」是「In32」,意思是32位是4字節。 –

+0

'sizeof(int)'返回4個字節的int類型的大小。這是爲字符串中的「{0}」佔位符插入的。 「ReadLine」要求用戶輸入,並且是一種讓程序保持活動狀態直到讀取完整輸出的方式。其餘是正確的。 – poke

+1

查看項目屬性,你會看到「Program.Main」是「入口點」的位置 – DaveShaw

回答

2

每個程序都有它的切入點 - 這通常被稱爲進入主要功能在您的情況:

void Main(string[] args) 

sizeof(int)回報你4,因爲這爲int類型的機器上的大小 - 4字節。

+2

請注意,在C#中,「int」不是特定於計算機的,但始終是32位,因此是4個字節。在C++中,這是另一回事。 –

4

方案已創建,但不叫

Program.Main是你的程序的入口點,你.exe文件被烤成的元數據。您可以在Visual Studio中的項目設置下看到入口點,或者如果使用ILDASM解構您的文件,您會在標題部分看到它。

並且還,此輸出4爲INT,但是其中赫克確實4 來自

sizeof operator將產生大小不受控類型的字節。 int關鍵字是Int32的別名,它是代表整數類型的4字節。