提问者:小点点

未获取所需输出[重复]


我刚开始做一些基本的C#练习。我指的是下面链接中的例子

https://msdn.microsoft.com/en-us/library/aa288457(V=vs.71).aspx

下面是代码

// cmdline2.cs
// arguments: John Paul Mary
using System;

public class CommandLine2
{
    public static void Main(string[] args)
    {
        Console.WriteLine("Number of command line parameters = {0}",
       args.Length);
        Console.ReadLine();
        foreach (string s in args)
        {
            Console.WriteLine(s);
        }
    }
}

以下是预期结果。

使用以下参数运行程序:cmdline2John Paul Mary。

输出将是:

命令行参数数=3br>johnbr>paulbr>Mary

然而,在我的例子中,首先当我尝试执行代码时,命令行出现了一秒钟,然后消失了。

我添加了console.read(),我正在查看下面的内容。

命令行参数数=0

所以我想知道这里出了什么问题。感谢任何帮助。

阿努拉格致意


共2个答案

匿名用户

args是传递到可执行文件中的命令的数组。

您没有显示的是在哪里传入命令行参数。这可以通过两种方式实现:

    使用2个参数调用ping.exe。

在您的示例中,您将调用

在Start选项中,您需要添加命令行参数。

然后您应该会看到正确数量的参数。

最后一项是您的读行位于console.writeLine()之前。将读取移动到代码的末尾,Main方法的内部。

匿名用户

您必须在末尾添加readline以暂停执行,否则程序只运行,然后退出。

// cmdline2.cs
// arguments: John Paul Mary
using System;

public class CommandLine2
{
   public static void Main(string[] args)
   {
       Console.WriteLine(
         "Number of command line parameters = {0}",
          args.Length);
       foreach (string s in args) Console.WriteLine(s);

       Console.WriteLine("Hit any key to exit");
       Console.ReadLine();
   }
}

此外,若要从Visual Studio运行此程序,请从项目的“属性”页添加命令行参数: