2014-03-01 28 views
4

在C中,我可以使用getch()獲取輸入,而不需要用戶按Enter鍵。 例如如何閱讀單個鍵盤字符(如getch)?

#include <conio.h> 

int main() 
{ 
    char c; 
    c = getch(); 
    return 0; 
} 

什麼函數可以在C#中做同樣的事情? (沒有按下輸入)。

回答

4

您可以使用Console.ReadKey()

獲取用戶按下的下一個字符或功能鍵。

它返回關於所按鍵的信息。然後你可以使用KeyChar屬性來獲取的按鍵的Unicode字符:

int Main() 
{ 
    char c = Console.ReadKey().KeyChar; 
    return 0; 
} 
2

您可以使用Console.ReadKey().KeyChar讀取來自Console字符不按Enter

從MSDN:

獲得用戶按下的下一個字符或功能鍵。在控制檯窗口中顯示按下的按鍵 。

試試這個:

char ch=Console.ReadKey().KeyChar; 
1
getch(); 

未在控制檯中顯示輸入

因此,你需要在C#

char ch = Console.ReadKey(true).KeyChar; 

如果你需要輸入顯示在控制檯那麼這需要

char ch1 = Console.ReadKey(false).KeyChar;