मैं कंसोल के साथ दूसरा वर्ण नहीं पढ़ सकता। पढ़ें() विधि। मेरा मतलब है कि मुझे कीबोर्ड से दूसरे अक्षर को पढ़ने का कोई संकेत नहीं मिलता है। कृपया कोई मदद? साथ ही, मैं समझता हूं कि चरित्र डिफ़ॉल्ट रूप से एक int है लेकिन इनपुट से पढ़ते समय हमें इसे अभी भी चार में परिवर्तित करने की आवश्यकता है, क्या यह सही है? नीचे दिया गया कोड पहले चार को पढ़ता है लेकिन दूसरे के साथ समाप्त होता है।
public static void Main()
{
Console.WriteLine("The First Character?:");
char firstChar=Convert.ToChar(Console.Read());
Console.WriteLine("The Second Character?:");
char secondChar=Convert.ToChar(Console.Read());
}
4 जवाब
कृपया Console.Read देखें। विशेष रूप से, यह हिस्सा:
जब आप इनपुट कैरेक्टर टाइप करते हैं तो रीड मेथड इसके रिटर्न को ब्लॉक कर देता है; जब आप एंटर कुंजी दबाते हैं तो यह समाप्त हो जाता है। एंटर दबाने से आपके इनपुट में एक प्लेटफॉर्म-निर्भर लाइन टर्मिनेशन सीक्वेंस जुड़ जाता है (उदाहरण के लिए, विंडोज कैरिज रिटर्न-लाइनफीड सीक्वेंस जोड़ता है)। पठन विधि के बाद के कॉल आपके इनपुट को एक बार में एक वर्ण पुनर्प्राप्त करते हैं। अंतिम वर्ण प्राप्त होने के बाद, रीड अपनी वापसी को फिर से अवरुद्ध करता है और चक्र दोहराता है।
ऐसा लगता है कि Console.ReadKey()
वही है जो आप वास्तव में चाहते हैं।
शायद यह कोड आप जो खोज रहे हैं उसके करीब है ...
public static void Main()
{
Console.WriteLine("The First Character?:");
char firstChar = Convert.ToChar(Console.ReadKey().KeyChar);
Console.WriteLine();
Console.WriteLine("The Second Character?:");
char secondChar = Convert.ToChar(Console.ReadKey().KeyChar);
}
आपका दूसरा Console.Read()
कैरिज रिटर्न का उपभोग कर रहा है जो पहले पठन को समाप्त कर रहा है।
Console.ReadKey
उपयोग करने के लिए थोड़ा मित्रवत है, क्योंकि इसके लिए टर्मिनेटिंग कैरिज रिटर्न की आवश्यकता नहीं होती है। यदि आप Console.Read
का उपयोग करना जारी रखना चाहते हैं, तो आप दूसरे संकेत से पहले कैरिज रिटर्न का उपभोग और त्याग करने का प्रयास कर सकते हैं, जैसे:
public static void Main()
{
Console.WriteLine("The First Character?:");
char firstChar = Convert.ToChar(Console.Read());
Console.Read(); // consume carriage return
Console.WriteLine("The Second Character?:");
char secondChar = Convert.ToChar(Console.Read());
Console.WriteLine(secondChar);
}
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।