2016-10-18 4 views
0

Привет им интересно, как вернуться к предыдущему утверждению в C#C#, как вернуться к предыдущему утверждению

Например я хочу, чтобы показать пользователю Readline еще раз, когда он заполнил это неправильно, и когда он будет делать это правильно будет показать ему следующую строку кода/оператора (на этом экзамене. Console.WriteLine («Привет»))

Как я мог это сделать?

int num; 
string prvnicislo; 
prvnicislo = Console.ReadLine(); 

while (true) 
{ 
    if (int.TryParse(prvnicislo, out num)) 
    { 
     Convert.ToInt32(prvnicislo); 
    } 
    else 
    { 
     Console.WriteLine("'{0}' is not int, try it again:", prvnicislo); 
     prvnicislo = Console.ReadLine(); 
    } 
} 
Console.WriteLine("Hi"); 
+2

Вы собираетесь должны думать о том, что 'в то время (правда) цикла и как это влияет на вашу программу. – LarsTech

+4

Вы можете добавить оператор 'break' после строки' Convert', чтобы выйти из цикла. –

ответ

1

проверки следующего фрагмент код

int num; 
string prvnicislo; 
prvnicislo = Console.ReadLine(); 

while (true) 
{ 
    if (int.TryParse(prvnicislo, out num)) 
    { 
     Convert.ToInt32(prvnicislo); 
     break; 
    } 
    else 
    { 
     Console.WriteLine("'{0}' is not int, try it again:", prvnicislo); 
     prvnicislo = Console.ReadLine(); 
    } 
} 

Console.WriteLine("Hi"); 

Надеется, что это помогает

6

Я думаю, что это будет работать:

int num; 
string prvnicislo = Console.ReadLine(); 
while (!int.TryParse(prvnicislo, out num)) 
{ 
    Console.WriteLine("'{0}' is not int, try it again:", prvnicislo); 
    prvnicislo = Console.ReadLine(); 
} 
Console.WriteLine("Hi"); 

Обратите внимание, что нет необходимости использовать Convert.ToInt32, потому что, если синтаксический анализ был успех метода TryParse присвоит разобранную INT значение NUM.

+0

Это то, что они ищут! Спасибо –

+0

@JakubStanek Примите его ответ как правильный, если помогли вам! – mybirthname

0

, если это может быть какой-либо помощь

string prvnicislo = String.Empty; 
bool isEntryWrong = true; 

do 
{ 
    Console.Write("Enter data: "); 
    prvnicislo = Console.ReadLine(); 

    int num; 
    if(int.TryParse(prvnicislo, out num)) 
    { 
     isEntryWrong = false; 
    } 
    else 
    { 
     Console.WriteLine("'{0}' is not int, try it again:", prvnicislo); 
    } 
} while (isEntryWrong); 

Console.WriteLine("Hi") 
Смежные вопросы