Main函數是程序的入口點,它是入口點,那它的參數,又是怎樣來的呢?首先寫個簡單的測試程序看看args到底是什么?
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Console.WriteLine("args數組的長度為:"+args.Length); 6 Console.Read(); 7 } 8 }
結果
可見,一個新的項目中args數組是空數組,那既然是空的有沒有辦法給它初始化呢?現在,怎么樣來將參數傳入,達到我們的目的呢?可以有2種方法:
1. 在運行之前將我們的參數設定,以便傳入。在"解決方案"窗口中,右鍵你的項目名,選擇 "屬性",在彈出的新窗口中選擇 "調試" ->"啟動選項"->"命令行參數" 中,輸入你要傳入的string參數值。(多個參數之間用空格隔開)
2. 將我們寫好的測試代碼保存,例如:Program.cs。 然后在SDK中編譯(csc Program.cs) 注意路徑。得到一個Program.exe的文件(同目錄下),然后我們可以在SDK傳入args參數了,方法是:在SDK中輸入我們編譯好的文件並連參數一起傳入。
注意:
1. 如果傳入多個參數,一定要用空格隔開,不能使用逗號。格式是:Program.exe 參數1 參數2 ...。 2. 參數的個數要與你代碼中出現的參數個數保持一致,否則會出現"索引超出數組界限"的異常。
測試
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Console.WriteLine("args數組的長度為:" + args.Length); 6 for (int i = 0; i < args.Length; i++) 7 { 8 Console.WriteLine(args[i]); 9 } 10 Console.Read(); 11 } 12 }
結果
如上結果所示,說明初始化成功了。
結語
東西很基礎,只是今天突然想到,怎么給Main函數參數初始化,而折騰的一小段代碼。記錄在此......