命令行参数

时间:2010-10-02 16:22:02

标签: c#

我想将一个软件部署到PC上,这些软件需要能够告诉程序一些信息。我不想使用配置文件,因为exe将位于共享驱动器上,并且他们无权运行自己的配置。命令行参数是最好的方法吗?如果是这样,我将如何通过这个并在c#程序中提取它?

3 个答案:

答案 0 :(得分:8)

如果您不想覆盖main方法,可以使用Environment类。

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

答案 1 :(得分:5)

是命令行是将信息传递给程序的好方法。可以从任何.Net程序的Main功能访问它

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

从程序的其他地方,您可以通过调用Environment.GetCommandLineArgs访问它。但是,一旦程序启动,可以修改命令行信息。它只是一个可由程序写入的本机内存块

答案 2 :(得分: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