【问题标题】:Not getting the Desired Output [duplicate]没有得到所需的输出[重复]
【发布时间】:2016-12-12 19:21:04
【问题描述】:

我刚刚开始进行一些基本的 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);
        }
    }
}

以下是预期结果。

使用如下参数运行程序:cmdline2 John Paul Mary。

输出将是:

命令行参数个数 = 3
约翰
保罗
玛丽

但是在我的情况下,当我首先尝试执行代码时,命令行会出现一秒钟然后消失。

我添加了 console.read(),我在下面看到了。

命令行参数个数 = 0

所以我想了解这里出了什么问题。任何帮助表示赞赏。

问候 阿努拉格

【问题讨论】:

  • 你确定你正确地传递了参数吗?你的代码看起来不错
  • 您的应用程序运行情况如何?如果您在 Visual Studio 中使用调试器运行,那么它可能会在没有命令行参数的情况下启动它。您可以在 DOS 提示符下手动运行它,也可以在项目属性窗口的调试面板中设置命令行参数(在解决方案资源管理器中右键单击项目,属性)。将 Console.Read 留在其中以防止它立即退出调试模式。
  • 这就是詹姆斯所说的。您需要打开一个单独的命令窗口。进入你的构建所在的目录并在那里输入你的命令。您可以 Shift-Right 单击“build”文件夹并选择 Command Prompt Here。

标签: c# command-line-arguments


【解决方案1】:

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

你没有显示的是你在哪里传递命令行参数。这可以通过两种方式完成:

  1. 通过从命令行调用 exe,例如ping www.google.com -t 使用 2 个参数调用 ping.exe。

在您的示例中,您将调用 commandLine2.exe 3 John Paul Mary

  1. 调试您可以使用以下指定命令:

您需要在“开始”选项中添加命令行参数。

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

最后一项是您的 readline 在 Console.WriteLine() 之前。将您的阅读移至代码的末尾,在 Main 方法内。

【讨论】:

    【解决方案2】:

    您必须在末尾添加 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 运行它,请从 项目 的属性页面添加命令行参数:

    【讨论】:

    • 你好查尔斯,这些信息真的很有帮助。
    猜你喜欢
    • 2015-05-16
    • 2022-07-28
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多