第三章 第一個C#應用程序 3.0 選擇一個編輯器 盡管我是一個頑固的Notepad狂,但這次我不建議用它編輯源碼。原因是你正在與真正的編程語言打交道,使用Notepad編輯源碼編譯時可能產生大量的錯誤信息行(C++程序員知道我在說什麼。) 你有幾種選擇。可以重新配置你信任的老式Visual C++ 6.0,使它能夠和C#源文件一起工作。第二種選擇是使用新的Visual Studio 7。第三,你可以用任何第三方程序編輯器,最好要支持行數、色彩編碼、工具集成和良好的搜索功能。CodeWright就是其中一個例子,如圖3.1所示。
1: class HelloWorld 2: { 3: public static void Main() 4: { 5: System.Console.WriteLine("Hello World"); 6: } 7: }
在C#中,代碼塊(語句組)由大括弧({和})所括住。所以,甚至你以前沒有C++的經驗,你也可以說出Main()方法就是HelloWorld 類語句的一部分,因為類被括在所定義的大括弧中。 C#應用程序(可執行)的入口點就是 static Main 方法,它必須包含在一個類中。僅有一個類能使用該標志定義,除非你告訴編譯器它應使用哪一個 Main 方法(否側,會產生一個編譯錯誤)。 和C++相比,Main的第一個字母是大寫的M,而不是你曾經使用過的小寫字母。在這個方法中,你的程序開始並結束。方法中可以調用其它方法——如這個例子中,用於輸出文本——或者創建對象並激活該方法。 正如你所看到的,Main方法返回一個void類型。 public static void Main() 盡管看到這些語句時,C++程序員肯定會覺得似曾相識,但是其他程序員並不如此。首先,public 的訪問標志告訴我們這個方法可以被任何程序訪問,這是它被調用的必要條件。其次,static 意味著沒有先創建類的實例也可以調用方法——你所要做的就是用類名調用方法。 HelloWorld.Main(); 但是,我不贊成在Main方法中執行這行代碼,遞歸會導致堆棧溢出。 另一重要的方面是返回類型。對於方法Main,可選擇void (意味著根本就沒有返回值),或用int 為整型結果(應用程序返回的錯誤級別)。因此,兩種可能的Main方法為: public static void Main() public static int Main()
C++程序員會同樣知道後面我要提到的——可以傳給應用程序的命令行參數數組。如: public static void Main(string[] args)