0
我得到了一個賦值,我必須連續運行一個程序,除非在程序關閉的情況下按下3。如果按下1或2鍵,它需要顯示「菜單1」或「菜單2」,其他任何鍵都會給出錯誤消息,告訴用戶按1,2或3(退出程序)。使用switch語句創建一個連續運行的應用程序
我設法讓我的開關工作,但我有問題,保持程序的運行,這樣一個人可以進入1其後是該做的結果是兩個:
菜單1個 菜單2
我試圖把程序放在一個循環,但它沒有工作得非常好,這裏是我的代碼:
Console.WriteLine("*** MENU ***\n\n1. Display Menu 1\n2. Display Menu 2\n3. Exit");
ConsoleKeyInfo uservalue = Console.ReadKey();
string foo = uservalue.KeyChar.ToString();
while (foo != "3")
{
switch (foo)
{
case "1":
Console.WriteLine("Menu 1");
Console.ReadLine();
break;
case "2":
Console.WriteLine("Menu 2");
Console.ReadLine();
break;
default:
Console.WriteLine("Invalid Selection. Please enter 1, 2 or 3");
Console.ReadLine();
break;
}
}
只是移動前三行內環路和刪除'ReadLine'在所有'case'語句。 – 2014-10-31 09:02:25
另外,我想知道你爲什麼要做'KeyChar.ToString()'。你可以使用switch(KeyChar){case'1':...}'就好了。或者甚至更好,直接使用'Key'。 – Luaan 2014-10-31 09:08:46
@Konrad Kokosa如果我這樣做了,while(foo!=「3」)將不再起作用,因爲輸入3的部分本身就在循環中。同時刪除ReadLine語句導致控制檯連續寫入文本。 – bucket 2014-10-31 09:31:23