2013-08-02 2 views
2

Я бы хотел, чтобы мое консольное приложение имело команды типа пользовательских типов /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

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

Смежные вопросы