我正在开发一个控制台应用程序,并在我已完成其他一些工作之后手动在Main()中添加了string[] args
。这就是我要接受命令行参数的全部内容吗?或者我还需要在其他地方配置一些东西吗?无论我在exe之后发送什么,我都会继续Console.WriteLine("{0}",args.Length)
并获得零。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("{0}", args.Length);
}
}
然后我运行...\setup.exe yes no maybe
并获得0长度。我还需要做什么?
更多信息:
我在属性页面中设置命令行参数后试图中断,我收到以下错误。:
我认为有人对ClickOnce部署的评论是我的问题。如何在VS2010中部署以实现此目的?
更多信息:
我在“属性”下打开了“ClickOnce安全设置” - >安全性并且能够成功调试,但是当我单击“发布”时,它会自动重新启用此设置..如何防止这种情况?
答案 0 :(得分:3)
这个例子:
using System;
namespace ConsoleApplication1
{
internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine("Number of command line parameters = {0}", args.Length);
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine("Arg[{0}] = [{1}]", i, args[i]);
}
}
}
}
执行时ConsoleApplication1.exe a b c
将输出:
Number of command line parameters = 3
Arg[0] = [a]
Arg[1] = [b]
Arg[2] = [c]
请参阅Command Line Parameters Tutorial
更新:此代码
class Program
{
static void Main(string[] args)
{
Console.WriteLine("{0}", args.Length);
}
}
以ConsoleApplication1.exe a b c
输出
3
最重要的是,确保您正在执行正确的.exe。
答案 1 :(得分:0)
也许你可以在for循环中做这样的事情来检查任何命令参数的值是什么
public class CountCommandLineArgs
{
public static void Main(string[] args)
{
Console.WriteLine("Number of command line parameters = {0}",
args.Length);
foreach(string s in args)
{
Console.WriteLine(s);
}
}
}