2010-06-18 9 views
8

मैं उपयोगकर्ता से पूछता हूं कि "कोई भी कुंजी दर्ज करें" और जब उस कुंजी को दबाया जाता है तो यह दिखाता है कि "आपने दबाया 'कुंजी'। क्या आप इस कोड में क्या गलत हैं मदद कर सकते हैं?उपयोगकर्ता द्वारा दबाए गए कुंजी को कैसे पढ़ा जाए और इसे कंसोल पर प्रदर्शित करें?

यह मैं क्या लिखा है:

using System; 
class Program 
{ 
    public static void Main(string[] args) 
    {  
     Console.Write("Enter any Key: "); 
     char name = Console.Read(); 
     Console.WriteLine("You pressed {0}", name); 
    } 
} 
+0

आप ConsoleKey के लिए दस्तावेज़ को देखें, तो यह एक नमूना बिल्कुल इस (लेकिन थोड़ा और अधिक उन्नत) कर गया है: http://msdn.microsoft.com/en-us/library/system.consolekey .aspx –

उत्तर

9

Console.WriteLine("Enter any Key: "); 
ConsoleKeyInfo name = Console.ReadKey(); 
Console.WriteLine("You pressed {0}", name.KeyChar); 
+0

आउटपुट में विशेष कुंजी दिखाने के बजाए, यह आउटपुट दे रहा है "आपने सिस्टम दबाया। कंसोलकेइन्फो – ThickBook

+0

क्या आपने अंतिम पंक्ति" नाम "को" name.KeyChar "में बदल दिया था? – harriyott

+0

मैंने इसे बदल दिया और अब ठीक है, चीयर्स! – ThickBook

4

Console.Read() प्रतिक्रिया उपयोगकर्ता दर्ज दबाता है, और पूरी स्ट्रिंग रिटर्न Enter दबा कर पहले कि उपयोगकर्ता द्वारा लिखा गया जब। एक कीस्ट्रोक पढ़ने के लिए, का उपयोग

Console.ReadKey() 
+0

जैसा आपने कहा था मैंने किया और यह अब यह त्रुटि दे रहा है। "पूरी तरह से प्रकार 'System.ConsoleKeyInfo' को 'char' – ThickBook

+0

में परिवर्तित नहीं कर सकता हां, 'कंसोल। रीडकी()' एक 'कंसोलकेइन्फो' देता है जिसमें से आपको 'नाम' केकर 'चरित्र मिलता है, क्योंकि हैरियट अपने उत्तर में दिखाता है। –

0
Console.Write("Enter any Key: "); 
char name = (char)Console.Read(); 
Console.WriteLine("You pressed {0}", name); 

प्रयास करें समस्या यह है कि Console.Read() एक पूर्णांक है, न कि चार रिटर्न है।

हालांकि, int को इसे कास्ट करके चार में परिवर्तित किया जा सकता है। इसलिए यदि आप पढ़े गए बयान के सामने (char) डालते हैं, तो सी # इसे एक char पर रखता है और यह ठीक काम करता है।

0
string keypress = ""; 

Console.Write("Enter any key: "); 
keypress = Console.ReadLine(); 
Console.Write("\nYou pressed {0}",keypress); 
0
{ 
    Console.Write("Enter any Key: "); 
    char name = Convert.ToChar(Console.ReadLine()); 
    Console.WriteLine("You pressed {0}", name); 

    Console.ReadKey(); 
} 
संबंधित मुद्दे