Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

С# выбор между двумя переменными. Как это сделать?

ProsperO Ученик (208), открыт 2 недели назад
Здравствуйте, подскажите как в c# реализовать выбор между двумя переменными.
Необходимо вводить с консоли либо "6" либо "10", в остальных случаях ввода (1,2,3,4,5,7,8,9,11 и т.д.) выдавать ошибку "Ошибка выбора напряжения". Пробовал через if else, bool, но не получилось.
1 ответ
Jurijus Zaksas Искусственный Интеллект (467180) 2 недели назад
>Пробовал через if else, bool, но не получилось.
Странно. Задача же простая до невозможности. Ну, лови, что ли:

 public static int GetInt(IEnumerable<int> _AllowedValues) 
{
int Result;
do
{
Console.Write($"Please enter one of the following: {_AllowedValues.Aggregate(string.Empty, (x, y) => x += y + " ")} ");
Result = int.Parse(Console.ReadLine());
}
while (!_AllowedValues.Contains(Result));
return Result;
}

Вариант с проверкой на корректность ввода числа:
 public static int GetInt(IEnumerable<int> _AllowedValues) 
{
int Result;
bool ParsedOK;
do
{
Console.Write($"Please enter one of the following: {_AllowedValues.Aggregate(string.Empty, (x, y) => x += y + " ")} ");
ParsedOK = int.TryParse(Console.ReadLine(), out Result);
}
while (!ParsedOK || !_AllowedValues.Contains(Result));
return Result;
}
ProsperOУченик (208) 2 недели назад
Спасибо Вам большое, буду пробовать.
Похожие вопросы