2010-10-02 172 views
4

我想將一個軟件部署到個人電腦,它需要能夠告訴程序一些信息。我不想使用配置文件,因爲exe文件將位於共享驅動器上,並且他們無法訪問自己的配置文件。命令行參數是否是執行此操作的最佳方法?如果是這樣,我將如何通過這個並在C#程序中撿起它?命令行參數

回答

8

如果你不想覆蓋主要的方法,你可以使用Environment類。

foreach (string arg in Environment.GetCommandLineArgs()) 
{ 
    Console.WriteLine(arg); 
} 
+2

從main獲取參數與此之間的主要區別在於第0個元素是來自Environment的可執行文件的名稱。 – 2010-10-02 16:28:31

+0

+1我發現的唯一答案解釋*其中的參數是。其他人都在談論如何解析它們;我只需要**找到他們! – 2011-12-14 21:07:42

2

在C#中讀取命令行參數的最簡單方法是確保您的Main方法採用string[]參數 - 該參數由從命令行傳遞的參數填充。

 
$ cat a.cs 
class Program 
{ 
    static void Main(string[] args) 
    { 
     foreach (string arg in args) 
     { 
      System.Console.WriteLine(arg); 
     } 
    } 
} 
$ mcs a.cs 
$ mono ./a.exe arg1 foo bar 
arg1 
foo 
bar 
5

是的命令行是一種將信息傳遞給程序的好方法。這是從任何.NET程序

public static void Main(string[] args) { 
    // Args is the command line 
} 

從您可以與呼叫Environment.GetCommandLineArgs訪問其他程序中的Main功能來訪問。儘管可以在程序啓動後修改命令行信息,但請注意。它只是一個本地內存塊,可以通過程序寫入