C# में Console.ReadKey() मेथड
Console.ReadKey() कंसोल से एक की-प्रेस पढ़ता है और ConsoleKeyInfo स्ट्रक्चर लौटाता है जिसमें दबाई गई कुंजी की जानकारी होती है। यह प्रोग्राम को तब तक रोकता है जब तक उपयोगकर्ता कोई कुंजी नहीं दबाता।
मुख्य उपयोग
- कंसोल विंडो को खुला रखने के लिए (विशेषकर Visual Studio में डिबगिंग के बाद)।
- उपयोगकर्ता इनपुट के आधार पर फ्लो कंट्रोल (मेनू, पॉज/कंटिन्यू)।
- पासवर्ड इनपुट के लिए
ReadKey(true)(कैरेक्टर डिस्प्ले नहीं होता)।
सिंटैक्स
ConsoleKeyInfo key = Console.ReadKey(); // की डिस्प्ले करता है ConsoleKeyInfo key = Console.ReadKey(true); // की डिस्प्ले नहीं करता (इंटरसेप्ट)
उदाहरण: Exit कुंजी तक प्रतीक्षा करना
using System;
public class Demo {
public static void Main() {
DateTime date = DateTime.Now;
TimeZoneInfo timeZone = TimeZoneInfo.Local;
Console.WriteLine("Time Zone = {0}",
timeZone.IsDaylightSavingTime(date) ? timeZone.DaylightName : timeZone.StandardName);
Console.Write("Press Enter to exit... ");
while (Console.ReadKey().Key != ConsoleKey.Enter) {
// Enter दबाने तक लूप चलता रहता है
}
}
}
आउटपुट
Time Zone = UTC Press Enter to exit... <user presses Enter>
ConsoleKeyInfo प्रॉपर्टीज
| प्रॉपर्टी | विवरण |
|---|---|
Key | ConsoleKey एनम वैल्यू (जैसे ConsoleKey.Enter, ConsoleKey.A) |
KeyChar | दबाई गई कुंजी का कैरेक्टर (यदि प्रिंटेबल) |
Modifiers | मॉडिफायर कीज़: Shift, Alt, Control |
उदाहरण: की जानकारी प्रदर्शित करना
using System;
class Program {
static void Main() {
Console.WriteLine("Press any key (Esc to exit)...");
while (true) {
var key = Console.ReadKey(true); // इंटरसेप्ट मोड
Console.WriteLine($"Key: {key.Key}, Char: '{key.KeyChar}', Modifiers: {key.Modifiers}");
if (key.Key == ConsoleKey.Escape) break;
}
}
}
ReadKey vs ReadLine vs Read
ReadKey(): सिंगल की प्रेस, तुरंत लौटाता है।ReadLine(): पूरी लाइन (Enter तक) पढ़ता है,stringलौटाता है।Read(): सिंगल कैरेक्टर का ASCII/यूनिकोड कोड पढ़ता है,intलौटाता है (-1 EOF पर)।