Método Console.ReadKey() en C#

El método Console.ReadKey() hace que el programa espere a que se presione una tecla y evita que se muestre la pantalla hasta que se presione una tecla. En definitiva, obtiene el carácter siguiente o cualquier tecla pulsada por el usuario. La tecla presionada se muestra en la ventana de la consola (si ocurre algún proceso de entrada). Hay dos métodos en la lista de sobrecarga de este método de la siguiente manera:

  • Método ReadKey()
  • Método ReadKey (booleano)

Método ReadKey()

Este método se utiliza para que el usuario presione el siguiente carácter o tecla de función. La tecla presionada se muestra en la ventana de la consola.

Sintaxis: público estático ConsoleKeyInfo ReadKey();

Valor devuelto: este método devuelve un objeto que describe la constante ConsoleKey y el carácter Unicode (si lo hay), corresponde a la tecla presionada.

Excepción: este método dará InvalidOperationException si la propiedad In pertenece a algún flujo que no sea la consola. La propiedad «In» se usa para tomar el flujo de entrada estándar.

Los siguientes programas ilustran el uso del método mencionado anteriormente:

Ejemplo 1:

// C# program to illustrate the
// Console.ReadKey Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        int c = 0;
        Console.WriteLine("The series is:");
  
        for (int i = 1; i < 10; i++) 
        {
            c = c + i;
            Console.Write(c + " ");
        }
  
        Console.WriteLine("\npress any key to exit the process...");
      
        // basic use of "Console.ReadKey()" method
        Console.ReadKey();
          
    }
}

Producción:

Ejemplo 2:

// C# program to illustrate the
// Console.ReadKey Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        int c = 0;
        Console.WriteLine("The series is:");
        for (int i = 1; i < 10; i++) 
        {
            c = c + i;
            Console.Write(c + " ");
        }
  
        Console.Write("\nPress 'Enter' to exit the process...");
  
        // another use of "Console.ReadKey()" method
        // here it asks to press the enter key to exit
        while (Console.ReadKey().Key != ConsoleKey.Enter) {
        }
          
    }
}

Producción:

Ejemplo 3:

// C# program to illustrate the
// Console.ReadKey Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
          
        // "DateTime" is a inbuilt class 
        // for date and time
        DateTime d = DateTime.Now;
          
        // print the system date and time
        Console.WriteLine("System date: {0:d}\n"+
                        "System time: {0:t}", d);
          
        Console.Write("Press 'E' to exit the process...");
  
        // here it ask to press "E" to exit
        while (Console.ReadKey().Key != ConsoleKey.E) {
        }
          
    }
}

Producción:

Método ReadKey (booleano)

Este método es más similar al método anterior, es decir, también obtiene el siguiente carácter o cualquier tecla presionada por el usuario. La única diferencia es que la tecla presionada se muestra opcionalmente en la ventana de la consola.

Sintaxis: pública estática ConsoleKeyInfo ReadKey (clave bool);
Aquí, «tecla» se usa para determinar si mostrar la tecla presionada en la ventana de la consola. Si es «verdadero», la tecla presionada no se mostrará en la ventana de salida. Si es «falso», la tecla presionada se mostrará en la ventana de salida.

Valor de retorno: este método devuelve un objeto que describe la constante ConsoleKey y el carácter Unicode (si corresponde), corresponde a la tecla presionada.

Excepción: este método dará InvalidOperationException cuando la propiedad In pertenezca a algún flujo que no sea la consola. La propiedad «In» se usa para tomar el flujo de entrada estándar.

Los siguientes programas ilustran el uso del método mencionado anteriormente:

Ejemplo 1:

// C# program to illustrate the 
// ReadKey(Boolean) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        int c = 0;
        Console.WriteLine("The series is-");
        for (int i = 1; i < 10; i++) 
        {
            c = c + i;
            Console.Write(c + " ");
        }
  
        Console.WriteLine("\npress any key to exit the process...");
  
        // here we use "false" in the argument list
        // when we press any key, the key will 
        // displays in the console output window
        Console.ReadKey(false);
         
    }
}

Producción:

Ejemplos 2:

// C# program to illustrate the 
// ReadKey(Boolean) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        int c = 0;
        Console.WriteLine("The series is-");
        for (int i = 1; i < 10; i++) 
        {
            c = c + i;
            Console.Write(c + " ");
        }
        Console.Write("\nPress 'E' to exit the process...");
  
        // here it asks to press "E" to exit
        // and the key "E" is not shown in
        // the console output window
        while (Console.ReadKey(true).Key != ConsoleKey.E) {
        }
         
    }
}

Producción:

Ejemplos 3:

// C# program to illustrate the 
// ReadKey(Boolean) Method
using System;
  
class GFG {
  
    public static void Main()
    {
        // "DateTime" is a inbuilt class
        // for date and time
        DateTime d = DateTime.Now;
          
        // print the system date and time
        Console.WriteLine("System date: {0:d}\n"+
                        "System time: {0:t}", d);
  
        Console.Write("Press 'E' to exit the process...");
  
        // here it asks to press "E" to exit
        // The key "E" is shown in the console 
        // output window because of "false"
        while (Console.ReadKey(false).Key != ConsoleKey.E) {
        }
          
    }
}

Producción:

Publicación traducida automáticamente

Artículo escrito por SoumikMondal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *