Todavía soy un principiante en la programación en lenguajes de programación de alto nivel, por lo que no sé si esta es una solución fácil, pero estoy contento de aprender de todos modos. He programado un pequeño programa de alarma en C# que permite al usuario ingresar cuántos segundos debe transcurrir para que suene la alarma. Funciona perfectamente, pero la entrada que el usuario debe dar tiene que ser un número. Cuando el usuario ingresa cualquier tipo de texto, el programa falla. Ahora, ¿cómo puedo evitar que los usuarios ingresen texto y llamen a una función o hagan otra cosa cuando el usuario lo hace, en lugar de que el programa simplemente se bloquee?¿Cómo prevenir ciertas formas de entrada al escribir métodos?
Este es el código que tengo ahora:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class Alarm
{
public static void play()
{
int sec;
sec = Convert.ToInt16(Console.ReadLine());
for (int i = 0; i < seconds; ++i)
{
System.Threading.Thread.Sleep(1000);
}
for (int i = 0; i < 10; i++)
{
Console.Beep();
}
}
}
}
Bueno, la parte superior de la cabeza, se podría utilizar un '' try' catch' alrededor del convertido y manejar la excepción como usted quiera, por ejemplo pedirles que volver a introducir un valor. – user17753
En una nota separada, 'int' es un' Int32' no un 'Int16'. 'short' es el alias de' Int16' –
@JustinPihony No sabía nada de eso. Acepté todas las respuestas del pasado que me ayudaron. Gracias por el consejo. :) – DutchLearner