2013-08-02 140 views
2

我希望我的控制檯應用程序具有諸如用戶類型/help和控制檯寫入幫助的命令。我想用它switch like:控制檯應用程序中的用戶輸入命令

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

http://msdn.microsoft.com/en-us/library/vstudio/acy3edy3.aspx – squillman

+0

什麼是與此代碼的問題?你知道如何從'Console'讀取一個字符串嗎?這是你唯一缺少的東西,真的。那,以及圍繞閱讀和開關的循環。 – dasblinkenlight

+0

該代碼是好的,但我不知道如何循環讀取...新的c# – TheNeosrb

回答

6

根據您對errata's answer的評論,看起來您希望保持循環,直到您被告知不要這樣做,而不是在啓動時從命令行獲取輸入。如果是這種情況,您需要在switch之外循環以保持運行。這是基於一個快速的樣品在你上面寫道:

namespace ConsoleApplicationCSharp1 
{ 
    class Program 
    { 
    static void Main(string[] args) 
    { 
     String command; 
     Boolean 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; 
      } 
     } 
    } 
    } 
} 
+0

就是這樣。謝謝。 :) – TheNeosrb

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 ABC

輸出:

Number of command line parameters = 3 
    Arg[0] = [A] 
    Arg[1] = [B] 
    Arg[2] = [C] 

我不這樣做C#多(有)了,但希望這有助於。

+0

這不是我在找...我希望用戶輸入控制檯應用程序像'/ help'命令和控制檯寫其他命令... – TheNeosrb

相關問題