命令行参数

4

我希望部署一款软件到电脑上,需要向程序提供一些信息。我不想使用配置文件,因为exe文件位于共享驱动器上,他们无法运行自己的配置文件。那么使用命令行参数是否是最好的方法?如果是,如何在C#程序中传递并接收这些参数呢?

3个回答

8

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

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

2
从 main 函数获取参数和从 Environment 获取参数的主要区别在于 0 号元素是可执行文件的名称。 - Mark Rushakoff

5

是的,命令行是向程序传递信息的好方法。它可以从任何 .Net 程序的 Main 函数中访问。

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

从程序的其他位置,您可以使用调用Environment.GetCommandLineArgs来访问它。但请注意,命令行信息在程序启动后可以被修改。它只是一块本地内存,可以被程序写入。


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接