控制台應用程式的主要展現形式是一個CMD視窗。普通的控制台應用程式在建立好以後也只有一個視窗和一個Program.cs檔案是我們寫代碼的主要情境。
小天:新建立的控制台應用程式、Winform和WebForm應用程式中自動產生的那些代碼都有什麼用呢?我們可以隨意修改不?
老田:這個問題涉及到很多東西,就現在所學的東西還無法全部說清楚,不過我們先用控制台應用程式來對C#類的代碼架構做個簡單的介紹,讓你不至於茫然吧。
控制台應用程式的主要展現形式是一個CMD視窗。普通的控制台應用程式在建立好以後也只有一個視窗和一個Program.cs檔案是我們寫代碼的主要情境。在本章後面的執行個體中,如果沒有特別說明,所有的代碼都是寫在這個檔案裡面。具體還是配合圖片來說明吧:
由於在圖中無法詳細描述每一項,我們為它們做了個編號。注意,途中綠色的字型是我加上的注釋。關於命名空間,我們會在後面章節詳細介紹,這裡不做過多描述。下面分別介紹:
1. 使用using關鍵字為當前類引入其他類型的命名空間。還記得前一章,我們說任何C#寫的應用程式都依賴於.NET Framework,因為.NET Framework中提供了包括資料類型、字元處理、運算子等大部分我們編程中要用到的類、方法和屬性等,比如Console類。所以無論如何,System這個命名空間都必須引用。至於後面的幾個,你刪除也可以,但如果需要用到某個命名空間中的類、方法、屬性等則必須先引用這個命名空間。好比如果我需要借用你家的車,這就必須先跟你家有聯絡才行。
2. 當前類的命名空間。換句話說,當前類以及類中的所有方法、屬性都屬於這個命名空間,如果其他命名空間下面的類需要使用本類中的內容,則必須先使用using關鍵字引用。
3. 類(後面章節詳細討論),通常在Program.cs檔案中都有Program這個預設的類,我們所做的所有操作也都是在這個類裡面的Main函數中最終展現出來。如果這個時候我們還需要添加另外一個簡單的類,則可以在該類平級(都在命名空間下面的同一級)的地方新增一個即可,2-1中我新增了一個MyClass類一樣。
4. 類中的方法和函數,注意在C#中方法並不等於函數,這個在第四章中會詳細討論。在Program類中必須有一個入口函數Main,什麼叫入口函數呢,當然不是吃的,而是說我們的應用程式每次都從這裡開始進入程式。所以在本章中的絕大部分執行個體代碼都是寫到這個方法裡面的。而下面我們又添加了一個GetName()這個方法。這是為了表示我們可以自己在類中構建多個自訂的方法。但是千萬不要嘗試去刪除Main函數。
小天:什麼叫平級?你中間說了在命名空間下面,該類的平級,在類中,方法的平級,都是什麼意思?
老田:注意看到圖2-1中對命名空間、類和方法的標註框,都有一個垂直向下的條,在這個範圍。比如上例中的MyClass類和Program是平級的。Main函數和GetName方法是平級的。
基本上所有的類都遵循這個結果(極少數有特殊情況,以後會討論到)。另外,除了練習,不推薦在一個檔案中寫多個類。因為這不利於代碼閱讀。
接下裡我們看下Winform應用程式的做法。首先要提醒的是,Winfrom應用程式的Program.cs類最好不要輕易去動,就我們現在的學習階段,唯一要修改的只是啟動視窗,也就是修改Main函數中最後一行代碼:
Application.Run(newForm1()); //改變啟動表單
更為詳細的操作,在本章後面的執行個體中會有更為詳細的步驟。這裡就不再贅述了。
本文為天轟穿原著,轉載請註明出處及作者!