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