Я сделал простую программу, которая запрашивает у пользователя свое имя, а затем номер 1 или 2, а затем записывает их имя и номер в консоль.Есть ли способ сделать цикл с несколькими условиями? C#
Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как сделать это так, чтобы пользователь мог вводить числа 1 или 2 только в одном цикле (я предполагаю, что есть что-то очевидное, которого я пропускаю).
Код:
string strName;
string strNumber;
int intNumber;
Console.WriteLine("What is your name?");
strName = Console.ReadLine();
Console.WriteLine("Please enter a number (1 or 2)");
strNumber = Console.ReadLine();
bool test = int.TryParse(strNumber, out intNumber);
while (intNumber >2)
{
Console.WriteLine("Please enter a number (1 or 2)");
strNumber = Console.ReadLine();
int.TryParse(strNumber, out intNumber);
}
while (intNumber < 1)
{
Console.WriteLine("Please enter a number (1 or 2)");
strNumber = Console.ReadLine();
int.TryParse(strNumber, out intNumber);
}
while (test == false)
{
Console.WriteLine("Please enter a number (1 or 2)");
strNumber = Console.ReadLine();
int.TryParse(strNumber, out intNumber);
}
Console.WriteLine("Welcome, your name is "+ strName+ " your number is " + intNumber);
Console.ReadKey();
Как видно из приведенной выше коды у меня есть 3 отдельных петель, которая создает проблему, так как они бегут сверху вниз, и как только они прошли они больше цикла, так пользователь может ввести: 10, f, а затем 7, и программа будет в порядке с этим.
Если есть еще один простой способ сделать то, что я хочу, вы могли бы рассказать мне, пожалуйста.
-Положения
Вы пробовали утверждение 'if'? – Stefan