在外部可以使用cmd命令向C#控制台應用程序發送參數,並使之處理。main函數的形參一定要包含string[] args,否則該控制台應用程序不能接收外部參數。在使用cmd調用程序的時候,外部每個參數之間需要用空格隔開。
以下代碼的邏輯是,將外部輸入的參數追加的文本文件中,按照每行一個參數值的方式追加:
class Program { static void Main(string[] args) { try { if(args != null && args.Length > 0) { FileTo(Path.Combine(Application.StartupPath,"test.txt"),args); } } catch(Exception ex) { Console.WriteLine(ex.Message); } } public static void FileTo(string path,string[] param) { FileStream fs = null; StreamWriter sw = null; try { if(param != null && param.Length > 0) { fs = new FileStream(path, FileMode.Append, FileAccess.Write, FileShare.ReadWrite); sw = new StreamWriter(fs); foreach(string item in param) sw.WriteLine(item); } } catch(Exception ex) { Console.WriteLine(ex.Message); } finally { if(sw != null) sw.Close(); if(fs != null) fs.Close(); } } }
在外部用cmd調用該控制台應用程序,ConsoleAppTest2.exe是編譯后的控制台應用程序文件:

外部調用控制台應用程序后得到的結果:

文本文檔中的結果:

經過本次實踐,說明C#控制台應用程序的main方法可以接收外部參數,它可以成為一個外部調用該程序的一個入口。
