Необходимо завернуть код в (не void) метод, не используя в нем Console

Код выводит числа от 10 до N, если сумма четных цифр больше нечетных

/// код:

        int N = int.Parse(Console.ReadLine());

        for (int i = 10; i < N; i++)
        {

            int Oddsum = 0;
            int Evensum = 0;
            int check_i = i;

            while (check_i > 0)
            {
                int dights_i = check_i % 10;
                if (dights_i % 2 == 0) Evensum += dights_i;
                else
                    Oddsum += dights_i;

                check_i /= 10;
            }

            if (Evensum > Oddsum) Console.WriteLine($"{i}: {Evensum}");
            // необходимо чтобы в методе output был таким же.

// мой метод:

    public static string task09 (int A)
    {

        for (int i = 10; i <= A; i++)
        {
            int Oddsum = 0;
            int Evensum = 0;
            int check_i = i;

            while (check_i > 0)
            {
                int dights_i = check_i % 10;
                if (dights_i % 2 == 0) Evensum += dights_i;
                else
                    Oddsum += dights_i;

                check_i /= 10;
            }
            if (Evensum > Oddsum) return ($"|{i}: {Evensum}|, ");

        }
        return ""; 

Ответы (1 шт):

Автор решения: aepot

Смысл задачи в том, чтобы не производить вывод прямо в методе.

У вас что-то типа этого.

private void Sum(int a, int b)
{
    int result = a + b;
    Console.WriteLine(result);
}

Вызывается оно вот так

Sum(40, 2);

В консоль выводится 42.

А надо вот так

private int Sum(int a, int b)
{
    int result = a + b;
    return result;
}

А вызывать например вот так.

Console.WriteLine(Sum(40, 2));

Или так.

int sum = Sum(40, 2);
Console.WriteLine(sum);

Результат работы точно такой же как с void.

То есть метод должен вернуть результат своей работы в вызывающий код, а не выводить в консоль или куда-то.

→ Ссылка