Цикл принимает пользовательский ввод в строку и парсит его, в случае неудачного парсинга или запроса на сервер по ScreenName - возвращает Эксепшн. Какое условие можно поставить циклу, чтобы он повторялся, пока пользователь не введет корректное значение и метод не вернет корректный ответ?
int? numberId;
while (true)
{
Console.WriteLine("Введите Id, либо ScreenName группы");
var enterId = Console.ReadLine();
numberId = taskLogic.IdTreatment(enterId);
if(numberId != null)
break;
}
public int? IdTreatment(string enterId)
{
if (int.TryParse(enterId, out int numberId))
{
Console.WriteLine("Id принят успешно");
return (int?)numberId;
}
else
{
Console.WriteLine("Обнаружен ScreenName");
numberId = (int)api.Utils.ResolveScreenName(enterId).Id.Value;
return (int?)numberId;
}
}
Но повторюсь - это очень плохая практика - строить бизнес-логику на основе исключений.
int? numberId;
while (true)
{
Console.WriteLine("Введите Id, либо ScreenName группы");
var enterId = Console.ReadLine();
numberId = taskLogic.IdTreatment(enterId);
if(numberId != null)
break;
}
public int? IdTreatment(string enterId)
{
if (int.TryParse(enterId, out int numberId))
{
Console.WriteLine("Id принят успешно");
return (int?)numberId;
}
else
{
try
{
Console.WriteLine("Обнаружен ScreenName");
numberId = (int)api.Utils.ResolveScreenName(enterId).Id.Value;
return (int?)numberId;
}
catch (Exception)
{
return null;
}
}
}
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть несколько перегрузок AutoResetEventWaitOne() Когда срабатывает сигнал signal
Пишу класс для бесконечных чисел с плавающей точкойОднако, конвертация в строку происходит неправильно
Как узнать если палец двигался и сменил направление то есть двигался в перед а потом начал назад
Допустим есть БД и взаимодействие с ней выполняется через какое-то ORM