還記得讀大學時初識電腦編程時的C語言,Main(){},那時還不明白入口函數是什麼意思,只知道照抄書本上的樣本,一行一行地跑printf看。
在C#中Main()屬於主入口函數,我們知識C、C#屬於編譯語言,可以想象為一段程式最開始的頭部部分,由Main()函數進入逐語句進行編譯後執行。假如html頁面也稱作程式設計語言的話,那麼它就屬於從上到下一句一句(下載)執行;js也是由上到下執行,不過js相當詭異,變數範圍要特別對待;在asp.net中一般情況下是以Page_Load(object sender,EventArgs e)可以認為是主入口。
Main()中的string[] args參數
Main()函數必須使用static修飾,也就是說它必須是靜態,不可執行個體化——可以執行個體化的話程式就完蛋了(多線程!?)。預設的Main()函數是帶形式參數的,形如static void Main(string[] args),這裡面一個很至關重要的問題就是:很多人都認為其中的參數僅當程式涉及要求使用者輸入參數值才必須帶上。這就大錯特錯了,我之前也是這麼理解的,直接今天我在寫這篇文章時查詢資料時才知道。請參考下面的代碼
using System; /****************************** * Chapter:C#痛點逐個擊破(四) * Author:王洪劍 * Date:2010-1-15 * Blog:http://www.51obj.cn/ * Email:walkingp@126.com * Description:容易出錯的Main參數理解 * ***************************/ namespace TestMain { class Program { static void Main()//此處沒有加string[] args { Console.WriteLine("請輸入您的姓:"); String firstName = Console.ReadLine(); Console.WriteLine("請輸入您的名:"); String lastName = Console.ReadLine(); Console.WriteLine("您的姓名是:{0}{1}", firstName, lastName); } } }
其次就是參數的類型只能是string[],否則就會編譯錯誤
那麼該參數是起什麼作用的呢?舉個例子你就知道了,notepad c:\boot.ini,或者IEXPLORER.exe http://www.g.cn,沒錯,裡面的參數就是用來編譯exe要加入的參數,比如我們可以加一個參數min或者hide,然後加入相應的代碼就可以實現程式運行時最小化運行或者隱藏運行。
Main()函數的傳回值
Main()預設無返回類似,除此之外,還可以返回int,並且僅能返回int,這種返回int的使用方式並不多,在msdn描述到了使用批處理bat調用程式執行的返回結果,根據結果來判斷程式是否順利執行。傳回型別在控制台中並不顯示"
以上就是C#痛點逐個擊破(4):main函數的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!