Проверка только чисел, консольная программа на C #

Я пытался проверить только ввод чисел, но это не было правдой для меня

Идея состоит в том, что можно вводить только цифры, и если нет, запросить значение еще раз.

Console.WriteLine("Ingrese primer valor: ");
int valor1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Ingrese segundo valor: ");
int valor2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("El primer valor es: " + valor1);
Console.WriteLine("El segundo valor es: " + valor2);

Привет !!

-1
задан 02.05.2017, 01:55
2 ответа

TambiГ©n ты можешь делать что-то, что, хотя он мало ортодоксальный функциональное. Ты можешь реализовывать ее conversiГіn с String до Integer внутри try и захватывать вытекающее исключение. Если в какой-то момент он вводит Catch, значь, что была невозможна parsear стоимость, что он конечно показывает, что его нет один nГєmero. И если никогда он не вводит catch, значь, что это parseГі успешно и говорится об одном nГєmero.

String x = <value>;
int y = 0;
try{
    y = int.Parse(x);
}
catch(Exception ex)
{
    Console.write("No es un numero");
}
console.write(y);
1
ответ дан 24.11.2019, 09:33
  • 1
    Габриэль, желанный в SOes. Если бы ты смог включать пример того, что ты показываешь в твоем ответе, публикация улучшилась бы много. Ты можешь продолжать очертания в статье пример mГ-nimo проверяемо . – Kenny Barrera 21.02.2019, 18:27
int num;

do
{

 num = Validar("Ingresa un numero del 1 al 10");

} while (num < 1 || num > 10)

-----------------------> МЕТОД <------------------------------

    public static int Validar(string Mensaje)
    {
        int num = 0, v;

        do
        {
            v = 1;

            try
            {
                Console.Write(Mensaje);
                num = Convert.ToInt32(Console.ReadLine());
            }
            catch (Exception error)
            {
                v = 0;

                Console.Write(" (X) Se produjo el siguiente error: {0}", error.Message);
            }


        } while (v == 0);

        return num;

}

в части перед методом, который был бы main, ты просишь у него вводить в компьютер число (ты это посылаешь как параметр в метод для того, чтобы он это напечатал ahГ, - цикл повторится до тех пор, пока пользователь не введет действительную информацию в компьютер, но, с while снаружи метода, он повторно введет информацию в компьютер, чтобы просить у него снова число до тех пор, пока он не введет в компьютер, что ты queres в этом условии, это для того, чтобы ты не был должен изменять метод, только санкционировать это снаружи, равный это обрезал изменять в твой вкус

-1
ответ дан 24.11.2019, 09:33
  • 1
    это практически тот же ответ @dev-joel – Tecnologer 20.02.2019, 22:48
  • 2
    Если, хорошо, что у меня нет столькой значимости в платформе, но это способствует тому, чтобы мой ответ был " она misma"? В моем ответе có я говорю, что я выдвигаю, дай деталь ошибки, уже будьте из-за того, что поместил очень большое число или cará cter (уже, который может становиться лучше), кроме которого, он может применяться mú ltiples утверждения несмотря на то, что только называет mé совсем и посылать сообщение, избавляя от помещать весь этот có я говорю в каждом validació n, кроме которого, поскольку я это поместил в пример, он может применять condició n снаружи mé все, чтобы не быть должным кодировать это (и как мастер на все руки, он может делать это, если он хочет улучшить это, этот самый простой). – Orion - 21.02.2019, 17:28
  • 3
    И также я не понимаю, потому что они проголосовали в мой ответ с-1 одними их " супер desarroladores" (кроме того говоря, что мой ответ - " prá cticamente это mismo"), я благодарен и жду твои ответы на этом, и если с моим explicació n, он имеет больше чувство причину моего có я говорю. – Orion - 21.02.2019, 17:33
  • 4
    твой ответ сходный, одинокий, что Ваше осуществление отличается – Tecnologer 21.02.2019, 20:27
  • 5
    Конечно то, что я хочу узнать, если хорошая té cnica validació n, который я осуществляю, чтобы улучшаться как программист и изучать. В моей голове оно может быть этим, так как, хотя он осуществит больше линий, он позволяет немного больше гибкости и детали ошибок (по крайней мере, в использовании консоли) – Orion - 21.02.2019, 20:31