Volver a la página principal
miércoles 25 septiembre 2024
80

Cómo leer una tecla en C#

El método Console.ReadKey() en C# se utiliza para capturar la entrada de una tecla presionada por el usuario en la consola. Este método es útil cuando se necesita pausar la ejecución de un programa hasta que el usuario presione una tecla o cuando se desea capturar una tecla específica para realizar alguna acción.

¿Qué es Console.ReadKey() en C#?

Console.ReadKey() es un método de la clase System.Console que lee una tecla del teclado en el momento en que el usuario la presiona. Este método devuelve un objeto ConsoleKeyInfo, el cual contiene información sobre la tecla presionada, incluyendo la tecla en sí y si se han utilizado teclas modificadoras como Shift, Alt o Ctrl.

Ejemplos de uso de Console.ReadKey() en C#

Pausar la ejecución del programa

Uno de los usos más comunes de Console.ReadKey() es pausar la ejecución de un programa hasta que el usuario presione una tecla.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Presiona cualquier tecla para continuar...");
        Console.ReadKey(); // Espera hasta que el usuario presione una tecla
    }
}

Leer una tecla y mostrar información sobre ella

Puedes capturar la tecla presionada y mostrar información sobre ella, como la tecla en sí o si el usuario utilizó alguna tecla modificadora.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Presiona una tecla:");
        
        // Lee la tecla presionada
        ConsoleKeyInfo teclaPresionada = Console.ReadKey();
        
        // Muestra información de la tecla presionada
        Console.WriteLine("\nHas presionado la tecla: " + teclaPresionada.Key);
        if (teclaPresionada.Modifiers != 0)
        {
            Console.WriteLine("Con modificador: " + teclaPresionada.Modifiers);
        }
    }
}

Usar Console.ReadKey() sin mostrar la tecla en la consola

Por defecto, Console.ReadKey() muestra la tecla presionada en la consola. Para evitarlo, puedes pasar true como parámetro, lo que hará que la tecla no se muestre.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Presiona una tecla (no se mostrará en la consola):");
        Console.ReadKey(true); // No muestra la tecla en la consola
        Console.WriteLine("Tecla capturada.");
    }
}

Referencia oficial

Para más detalles, puedes consultar la documentación oficial de Microsoft: Documentación de Console.ReadKey()

Etiquetas:
csharp
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer