我希望我的控制台应用程序具有用户类型/help
和控制台写入帮助等命令。我希望使用switch
之类的:
switch (command)
{
case "/help":
Console.WriteLine("This should be help.");
break;
case "/version":
Console.WriteLine("This should be version.");
break;
default:
Console.WriteLine("Unknown Command " + command);
break;
}
我怎样才能做到这一点?提前谢谢。
答案 0 :(得分:7)
根据您对errata's answer的评论,您似乎希望保持循环,直到您被告知不要这样做,而不是在启动时从命令行获取输入。如果是这种情况,您需要在switch
之外循环以保持运行。以下是基于您上面所写内容的快速示例:
namespace ConsoleApplicationCSharp1
{
class Program
{
static void Main(string[] args)
{
string command;
bool quitNow = false;
while(!quitNow)
{
command = Console.ReadLine();
switch (command)
{
case "/help":
Console.WriteLine("This should be help.");
break;
case "/version":
Console.WriteLine("This should be version.");
break;
case "/quit":
quitNow = true;
break;
default:
Console.WriteLine("Unknown Command " + command);
break;
}
}
}
}
}
答案 1 :(得分:0)
这些方面的某些内容可能有效:
// cmdline1.cs
// arguments: A B C
using System;
public class CommandLine
{
public static void Main(string[] args)
{
// The Length property is used to obtain the length of the array.
// Notice that Length is a read-only property:
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]);
}
}
}
运行命令:cmdline1 A B C
输出:
Number of command line parameters = 3
Arg[0] = [A]
Arg[1] = [B]
Arg[2] = [C]
我不再做c#much(any)了,但希望这有帮助。
答案 2 :(得分:0)
存在像http://www.codeproject.com/Articles/63374/C-NET-Command-Line-Argument-Parser-Reloaded这样的。开源项目来处理这个问题。为什么重新发明轮子?