這似乎是一個奇怪的問題,所以我會盡可能簡單地解釋它。我正在C#中製作一個像CMD這樣的應用程序,我需要像'ping'這樣的命令。我有一個switch語句來檢查輸入的命令並執行它。這是:解析命令行參數字符串
switch (CommandName)
{
case "intro":
{
Console.WriteLine("intro");
CommandListen();
}
break;
case "clear":
{
CommandFolder.CmdClear cmd = new CommandFolder.CmdClear();
cmd.Execute();
CommandListen();
}
break;
case "ping":
{
CommandFolder.CmdPing cmd = new CommandFolder.CmdPing();
cmd.Execute(CommandName);
CommandListen();
}
break;
case "exit":
{
CommandFolder.CmdExit cmd = new CommandFolder.CmdExit();
cmd.Execute();
}
break;
default:
CommandListen();
break;
}
我不知道如何讓它與一個命令,即ping [ip/url] [extra]的參數一起工作。如果我輸入「ping」,它會起作用並執行該命令,但如果輸入「ping www.google.com」,則會出現無法識別的命令錯誤。我需要一種方法來檢查命令的第一部分,然後傳遞參數。
我很抱歉,如果這是模糊的,我只是不知道該怎麼說。
所以,你基本上問如何拆分空間的字符串? – 2014-09-03 10:15:02
嘗試此庫 - https://commandline.codeplex.com/ – Anuraj 2014-09-03 10:17:23
您的代碼正在查看'CommandName',它大概是從某處用戶輸入設置的。在捕獲該值的代碼中,需要將用戶的輸入分爲「命令」和「參數」,而不是僅僅通過整個事件。你有這樣的東西嗎?如果沒有,您需要查看「解析」教程,這些教程將向您展示如何將字符串分解爲可識別的塊。 – 2014-09-03 10:17:30