Лучший способ сделать это будет иметь состояние в ваше время
while(a != 7 || b != 7)
{
Console.WriteLine("add number:");
a = int.Parse(Console.ReadLine());
Console.WriteLine("add number:");
b = int.Parse(Console.ReadLine());
}
Console.WriteLine("end");
Это позволит сделать цикл автоматически прекращается, когда он приходит к выводу, что оба значения 7
В соответствии с @ Ответ AlexK, вы также можете сделать то, что у вас нет условий, и просто введите true
while(true)
{
Console.WriteLine("add number:");
a = int.Parse(Console.ReadLine());
Console.WriteLine("add number:");
b = int.Parse(Console.ReadLine());
if (a == 7 && b == 7)
{
break;
Console.WriteLine("end");
}
}
Это будет делать то же, что и приведенный выше код, хотя вместо того, чтобы проверять, являются ли значения 7
в начале каждого цикла, он будет циклически бесконечно перемещаться до тех пор, пока вручную не выйдет внутри цикла
Вы также можете заметить, что синтаксис Я использовал это
while(/*condition*/)
{
//code here
}
Это сокращенный вариант синтаксиса, который вы используете, хотя он действует немного по-другому. Хотя в приведенном выше примере кода никогда не будет запускать любой код, если условие не выполняется, когда цикл ввода, приведенный ниже код
do
{
//code here
}
while(/*condition*/);
всегда будет работать код, содержащийся внутри do
по крайней мере, один раз, независимо от того, условие выполнено или нет
Как насчет 'while (true) {...}' –
yep Я сделал это с помощью alfie –