我希望其他用户能够发送参数来运行我的程序,如何实现这样的功能?
您是指启动时的参数吗?例如myapp.exe blah blah2 blah3
请将您的主方法修改为以下内容:
public static void Main(string[] args)
{
}
现在,args
是传递到程序中的参数数组。因此,在示例中,args[0] == "blah"
,args[1] == "blah2"
等。
如果你有一个Main方法(在命令行应用中你会有这个),你可以直接访问它们,作为args字符串数组参数。
public static void Main(string[] args) {
var arg1 = args[0];
var arg2 = args[1];
}
如果你在代码的其他位置,可以访问静态的Environment.GetCommandLineArgs方法。
//somewhere in your code
var args = Environment.GetCommandLineArgs();
var arg1 = args[0];
var arg2 = args[1];
该程序是从具有以下签名的方法运行的
public static void Main(string[] args)
args
将包含通过空格分隔的命令行参数。myapp.exe "blah blah2"
,那么 args[0] == "blah blah2"
对吗? - rmeador\
进行转义,例如 ./mypapp.exe blah\ blah2
。 - Dolphin虽然 string[] args 可以正常工作,但值得一提的是 Environment.GetCommandLineArgs。
Main
的可选string[]
参数中读取命令行参数。static void Main(string[] args)
{
if (args.Length >= 1)
{
string x = args[0];
// etc...
}
}
static void Main()
{
// ...
}
请查看文档以获取更多细节。
public static void Main(string[] args)
如果你说
App.exe Hello World What's Up
[0] = "Hello"
[1] = "World"
[2] = "What's"
[3] = "Up"
你需要确定想要哪些参数,以及它们的格式等等。
string[] args
究竟是用来做什么的? - mpen