@Ledington

Как обратиться к методу?

У меня есть цикл, который повторяется несколько раз.
Как мне сделать из него метод? При этом так, чтобы он вызывался в зависимости от количества переменных.
Например на переменную a, b и c?

Console.WriteLine($"\na * x^2 + b * x + c = 0");

var a = string.Empty;
var b = string.Empty;
var c = string.Empty;

            while (true) //цикл обработки значения <a>
            {
                Console.Write($"\nВведите значение <a>: ");
                a = Console.ReadLine();
                bool a_number = int.TryParse(a, out int ai);

                if (a_number)
                    if (ai % 2 == 0)
                    {
                        Console.WriteLine($"Было введено число: {ai}");
                        break;
                    }
                    else
                    {
                        Console.WriteLine("Некорректные данные. Попробуйте еще раз.");
                    }
            }
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
FoggyFinder
@FoggyFinder
Не очень понятно что конкретно у вас не получилось. Сама идея правильная - вынести общий функционал в метод.

Единственное что могло бы вызвать сложность так это сделать дополнительное ограничение на введенные данные. Например, у вас для параметра a еще требуется четность. Для этого можно просто передавать фильтр:

static int ReadInt(Func<int, bool> filter)
{
    while (true)
    {
        var a = Console.ReadLine();
        bool a_number = int.TryParse(a, out int ai);

        if (a_number && filter(ai))
        {
            return ai;
        }
        else
        {
            Console.WriteLine("Некорректные данные. Попробуйте еще раз.");
        }
    }
}


и пример вызова

Console.Write($"\nВведите четное значение <a>: ");
var a = ReadInt(a => a % 2 == 0);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы