2016-04-03 34 views

cevap

1

şey gibi:

while(true) { 
    Console.Write("prompt>"); 
    var command = Console.ReadLine(); 

    if (command == "command1") doSomething(); 
    else if (command == "command2") doSomethingElse(); 
    ... 
    else if (command == "quit") break; 
} 
+0

Neden başka bir "else if" kullanıyorsunuz? Siz sadece şunu yapabilirsiniz: ((command = Console.ReadLine(). ToLower())! = "Quit") {'(bu, döngüden önce" komutu "bildirmeniz gerektiği anlamına gelir). --- Ayrıca, büyük harf duyarlı komutlar için .ToLower() '. –

+1

@visualvincent Evet, bunu yapabilirsin. Ben şahsen bundan hoşlanmıyorum çünkü 1) döngü dışında (ve dolayısıyla gerçek kapsamının dışında) 2) komutu açıklamak zorundasınızdır, çünkü bir şekilde çok okunabilir değildir. – derpirscher

+0

** 1) ** Nokta. Her ne kadar önemli değil. ** 2) ** Bence bu şekilde daha okunabilir hale geliyor. ;) - ** ** '.ToLower()' hala kullanılmaya devam etse de, programınız hala "QUIT" veya "qUiT" vb. –

1

Do tipi dek "exit" gibi spesifik bir komut ise:

static void Main(string[] args) { 
    var line = System.Console.ReadLine().Trim(); 

    while(line!="exit") { 
     myOperationCommand(line); 
     line = System.Console.ReadLine().Trim(); // read input again 
    } 

    System.Console.WriteLine("End!\n"); 
} 

// Do some operation... 
static void myOperationCommand(string line) { 
    switch(line) { 
     case "checkprice": 
      System.Console.WriteLine("price of foo is 42$"); 
      break; 
     default: 
      System.Console.WriteLine("Command not reconized: " + line); 
      break; 
    } 
} 
0

Belki bu

//this is your price variable 
static int price = 42; 
//function to check it 
static void CheckPrice() 
{ 
    Console.WriteLine("price of foo " + price + "$"); 
} 
static void Main() 
{ 
    bool exit = false; 
    do 
    { 
     //write at begin ">" 
     Console.Write(">"); 
     //wait for user input 
     string input = Console.ReadLine(); 
     // if input is "checkprice" 
     if (input == "checkprice") CheckPrice(); 
     if (input == "exit") exit = true; 
    } while (!exit); 
} 
İlgili konular