que tienen una pequeña aplicación de consola de C# que lee una clave y comprueba si la clave era un signo de interrogación:ConsoleKeyInfo, el signo de interrogación y Portabilidad
ConsoleKeyInfo ki = System.Console.ReadKey();
if (ki.ConsoleKey.Oem2) // Do something
llegué a Oem2
por ver qué valor es en realidad asignado en el depurador, porque no hay ConsoleKey code para el signo de interrogación.
Ahora podría usar ki.KeyChar
en su lugar, pero la aplicación también debe responder a ciertas teclas (por ejemplo, teclas de medios) que no se asignan a los caracteres. No es elegante comprobar ConsoleKey
y KeyChar
para determinar qué tecla se ha pulsado. Por otro lado, no se siente seguro confiar en Oem2
para mapear siempre a ?
en todas las circunstancias y regiones.
¿Es recomendable marcar ambas propiedades para determinar qué tecla se ha pulsado?
Se aprecia cualquier idea sobre por qué se diseñó ConsoleKeyInfo de esta manera.