मैं एक छोटे से सी # कंसोल अनुप्रयोग है कि एक महत्वपूर्ण और चेक पढ़ता है, तो कुंजी एक प्रश्न चिह्न था देखना है:ConsoleKeyInfo, प्रश्न चिह्न और पोर्टेबिलिटी
ConsoleKeyInfo ki = System.Console.ReadKey();
if (ki.ConsoleKey.Oem2) // Do something
मैं देख क्या मूल्य वास्तव में है द्वारा Oem2
पर पहुंचे डीबगर में असाइन किया गया, क्योंकि प्रश्न चिह्न के लिए ConsoleKey code नहीं है।
अब मैं निश्चित रूप से ki.KeyChar
का उपयोग कर सकता हूं, लेकिन एप्लिकेशन को कुछ कुंजी (उदा। मीडिया कुंजी) का जवाब देने की आवश्यकता है जो वर्णों को मैप नहीं करते हैं। यह निर्धारित करने के लिए कि कौन सी कुंजी वास्तव में दबाई गई है, यह ConsoleKey
और KeyChar
दोनों को जांचने में सुरुचिपूर्ण लगता है। दूसरी तरफ, सभी परिस्थितियों और क्षेत्रों में ?
पर हमेशा मानचित्र पर Oem2
पर भरोसा करना सुरक्षित नहीं लगता है।
क्या यह निर्धारित करने के लिए दोनों गुणों की जांच करना सबसे अच्छा अभ्यास है कि वास्तव में कौन सी कुंजी दबाई गई थी?
कंसोलकेइन्फो को इस तरह से डिजाइन किए जाने के तरीके में कोई अंतर्दृष्टि की सराहना की गई है।