我如何找到这些信息:
认为我们开始了这个过程:
testFile.exe i- 100 k- "hello" j-"C:\" "D:\Images" f- "true"
现在我怎样才能在应用程序启动时获得主要参数,所以我有:
int i = ... ; //i will be 100
string k = ... ; // k = hello
string[] path = ... ; // = path[0] = "C:\" , path[1] = "D:\Images"
bool f = ... ; // f = true;
问候
答案 0 :(得分:3)
参数传递给正在调用的Main
函数:
static void Main(string[] args)
{
// The args array contain all the arguments being passed:
// args[0] = "i-"
// args[1] = "100"
// args[2] = "k-"
// args[3] = "hello"
// ...
}
参数的顺序与命令行中传递的顺序相同。如果您想使用命名参数,可以查看建议this post和NDesk.Options的Mono.Options。
答案 1 :(得分:2)
您可以使用 Environment.CommandLine 或 Environment.GetCommandLineArgs()
String[] arguments = Environment.GetCommandLineArgs();
有关MSDN
的更多信息答案 2 :(得分:2)
如前所述,您可以使用string[] args
参数或Environment.GetCommandLineArgs()
。请注意,对于CLickOnce部署的应用程序,您还需要其他内容。
您可以在string[]
上进行自己的处理,也可以在CodePlex上使用this one等库。
有关文件名中的空格和转义引号的一些棘手细节,请参阅this SO question。
答案 3 :(得分:1)
您可以使用NDesk.Options。这是他们的documentation。