我正在尝试显示作为输入输入的命令行参数的数量。这是我的代码块。
//Argument: A, B, C, D
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ParamaterCount
{
public class ParameterCount
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World");
Console.WriteLine("You have entered {0} command line arguments",args.Length);
Console.ReadLine();
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine("{0}", args[i]);
}
}
}
}
然而,当我试图运行它时。它离开了屏幕,我什么都没得到。我还添加了Console.ReadLine()
语句,但我无法进入For循环内部来计算迭代次数。我错过了什么吗?
谢谢。
输出应该是这样的。
Hello World, You entered 4 Command Line Arguments A B C D
答案 0 :(得分:1)
在控制台应用程序中,参数不会像那样工作。您的代码非常好,但请注意您必须在运行时输入参数,但由于在运行时调用的第一个方法是Main()
,因此您没有机会提供命令行参数。为了实现您的目标,您必须从命令行运行已编译的输出应用程序,假设您的应用程序名称为ConsoleApplication.exe
,因此打开命令行,然后运行ConsoleApplication.exe
,如下所示:
ConsoleApplication.exe A B C …
有关详细信息,请参阅:Command-Line Arguments
BTW:您总是可以使用 ctrl + F5 而不是 F5 来运行您的控制台应用程序,这将产生与您相同的结果在你的申请结束时写了Console.ReadLine()
。
答案 1 :(得分:0)
您应该在Console.ReadLine()
方法的末尾移动Main
语句。
所以你的代码应该是这样的:
public static void Main(string[] args)
{
Console.WriteLine("Hello World");
Console.WriteLine("You have entered {0} command line arguments",args.Length);
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine("{0}", args[i]);
}
Console.ReadLine();
}
答案 2 :(得分:0)
尝试:
public static void Main(string[] args)
{
Console.WriteLine("Hello World");
Console.WriteLine("You have entered {0} command line arguments {1}",args.Length, string.Join(" ", args);
Console.ReadLine();
}
答案 3 :(得分:0)
删除console.readline()语句,而不是从控制台运行程序时提供输入。我不知道c#但是在java中你可以完成以下任务。
javac s.java
java s A B C D
答案 4 :(得分:0)
实际上,您不需要使用Console.ReadLine()
,因为它会读取输入流,而不是您提供的参数。
这就是你需要的代码;
Console.WriteLine("Hello World");
Console.WriteLine("You have entered {0} command line arguments", args.Length);
for(int i = 0; i < args.Length; i++)
{
Console.WriteLine("{0}", args[i]);
}
然后按照以下步骤操作;
Run
并输入cmd.exe
这是命令行的快捷方式cd
(在我的示例中为cd C:\Users\Soner\Documents\Visual Studio 2012\Projects\ProgramConsole\ProgramConsole\bin\Debug
)A B C D
(在我的示例中为ProgramConsole.exe A B C D
)输出将是;
Hello World
You have entered 4 command line arguments
A
B
C
D