string [] args length在命令行参数中为零

时间:2013-12-12 18:40:13

标签: c# visual-studio-2010 command-line-arguments

我正在研究并创建一个与命令行参数相关的程序。在这个程序中,我将进入if语句。现在我有问题为什么这里string [] args长度为0?如何设置args值以便我可以获得所需的结果

这是我正在使用的代码

static void Main(string[] args)
{
    double val1 = 0.0;
    double val2 = 0.0;
    if (args.Length == 0)
    {
        Console.WriteLine("No argument has been specified");
        Console.ReadLine();
        return;
    }
    val1 = double.Parse(args[0].ToString());
    val2 = Math.Sqrt(val1);
    Console.WriteLine("Square Root of the val2 is: {0}\n",val2);
    Console.ReadLine();
}

请解决此问题专家

4 个答案:

答案 0 :(得分:2)

您必须使用参数运行程序(即:program.exe args0 args1 args2)。如果从VS运行,则必须set the project property for debug command arguments

  
      
  • 在“解决方案资源管理器”中选择项目后,在“项目”菜单上,单击“属性”。
  •   
  • 单击“调试”选项卡。
  •   
  • 在命令行参数字段中,输入您要使用的命令行参数。
  •   

答案 1 :(得分:1)

Go to project properties -> Debug and Command line arguments

我希望这能回答你的问题,你需要从VS项目属性传递cmd args

答案 2 :(得分:0)

解决方案:从CommandLine arguments

传递Visual Studio IDE

1.右键点击project 2.转到Properties
3.从左侧面板中选择Debug选项卡 4.您可以使用Command line arguments作为Startup Optionssace下的delimiter框中输入命令行参数。

答案 3 :(得分:0)

string [] args可能包含我们想要传递给Main()方法的任意数量的命令行参数。

如果我们通过命令提示符执行应用程序,我们可以看到它是如何工作的。

对于显示的方法

static int Main(string[] args)
{

  for(int i = 0; i < args.Length; i++)
  Console.WriteLine("Arg: {0}", args[i]);
  Console.ReadLine();
  return -1;
}

enter image description here

cation是一个文本编辑器,我们可以像这样打开文本文件。

可以使用或不使用包含命令行参数的string []参数声明Main方法。使用Visual Studio创建Windows窗体应用程序时,可以手动添加参数,也可以使用Environment类获取命令行参数。参数被读作零索引命令行参数。与C和C ++不同,程序的名称不被视为第一个命令行参数。

有关详细信息,请参阅here