2018-01-15 22:10:59
一、Main()方法的簡介
1、唯一性。一般情況下,一個C#可執行程序只有一個Main函數,作為程序入口。但是在某些情況(如單元測試中),程序擁有多個Main函數,,這個時候我們就需要通過命令行指定以哪個Main()方法作為程序的唯一入口。
2、靜態性。Main()方法通過static修飾,這個主要是讓我們可以通過類名加方法的形式調用Main()方法,使得我們不需要創建對象的實例(即new出該對象)而直接調用Main函數。使用靜態static修飾符的原因:
3、Main的參數。分析Main()方法的參數是一個字符串(string[] args),這個參數可以包含任意數量的命令行輸入參數。
4、Main函數的修飾符。一般不加修飾符,默認為private,但可以public修飾符,但編譯器在編譯時會設置為priavte。
二、Main()方法為什么使用static修飾
假設沒有static關鍵字,那意味着需要用生成一個實例后才可以調用這個Main方法,而Main方法是程序入口點,你沒有進入Main方法,自然無法生成一個實例,既然沒有實例,那就無法調用Main函數,豈不矛盾?所以Main函數被設置為static。直接通過類名加方法的形式調用Main()方法,使得我們不需要創建對象的實例(即new出該對象)而直接調用Main函數。
三、Main()方法的四種形式
1、無返回值,以字符串數組作為參數
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 } 6 }
2、無返回值,無參數
1 class Program 2 { 3 static void Main() 4 { 5 } 6 }
3、返回int類型數值,以字符串數組作為參數
1 class Program 2 { 3 static int Main() 4 { 5 6 return 0;//返回整數0(0:表示沒有出現異常情況正常返回;其他值(非0),表示主函數執行過程中的異常情況。) 7 } 8 }
4、返回int類型數值,無參數
1 class Program 2 { 3 static int Main(string[] args) 4 { 5 return 0;//返回整數0(0:表示沒有出現異常情況正常返回;其他值(非0),表示主函數執行過程中的異常情況。) 6 } 7 }
四、Main()的參數string[] args的含義
args是用來處理命令行參數的。命令行參數,就是你運行這個程序的時候給它傳的參數。它是可選項,不是必須的。具體使用如下:
1:編寫如下程序
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 foreach (string str in args) 6 { 7 Console.WriteLine("Main函數傳遞的參數args:{0}", str); 8 } 9 Console.ReadKey(); 10 } 11 }
2:編譯完成該程序后,在Debug文件中找到該.exe文件,復制到桌面,再復制路徑+文件名,然后在命令行模式下輸入“C:\Users\dwa1124\Desktop\Test aa bb cc”。運行后我們發現: