2016-01-20 84 views
-2

我試圖做一個腳本,說1,2或3基於您按哪些數字,但我不知道如何使類型相同,Console.readkey();不想要給我一個整數:/如何使用Console.readkey();與if語句

int level = Console.ReadKey(); 

switch (level) 
{ 
    case 1: 
     Console.WriteLine("1"); 
     break; 
    case 2: 
     Console.WriteLine("2"); 
     break; 
    case 3: 
     Console.WriteLine("3"); 
     break; 
} 

Console.ReadKey(); 
+2

難道你只是使用'Console.WriteLine(級別)'? –

+0

https://msdn.microsoft.com/zh-cn/library/system.consolekeyinfo%28v=vs.110%29.aspx描述了Console.ReadKey()返回的內容() – Chaz

+0

另請注意,「代碼段」 SO的功能只適用於網頁代碼(如javascript,html等),而不適用於c# –

回答

3

ReadKey方法返回ConsoleKeyInfo類型。 所以,你的代碼應該是這樣的:

 ConsoleKeyInfo level = Console.ReadKey(); 
     switch (level.KeyChar) 
     { 
      case '1': 
       Console.WriteLine("1"); 
       break; 
      case '2': 
       Console.WriteLine("2"); 
       break; 
      case '3': 
       Console.WriteLine("3"); 
       break; 
     } 
0

如果您改變變量的類型用戶輸入一個字符串,並更改'ReadKey'到'ReadLine'(或添加'.ToString()「到'ReadKey()'),那麼你可以像這樣的情況下雙引號:

 string level = Console.ReadLine(); 

     switch (level) 
     { 
      case "1": 
       Console.WriteLine("1"); 
       break; 
      case "2": 
       Console.WriteLine("2"); 
       break; 
      case "3": 
       Console.WriteLine("3"); 
       break; 
     } 

     Console.ReadKey(); 
+0

@Dom - 感謝格式編輯。 – BroCode