Возврат к началу программы C#

Гуглил я гуглил, и ненагуглил... Надо сделать возврат к началу программы из функции Comprasion(), не могу понять как это сделать, вот код:

using System;
using static System.Console;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static void Main(string[] args)
    {
        WriteLine("Введите целое число от 1 до 10.");
        int first_num = Convert.ToInt32(ReadLine());

        WriteLine("Введите еще одно целое число от 1 до 10.");
        int second_num = Convert.ToInt32(ReadLine());

        Comprasion(first_num, second_num);
    }

    private static void Comprasion(int a, int b)
    {
        if (0 > a <= 10 && 0 > b <= 10)
        {
            Fun(a, b);
        }
        else;
        {
            WriteLine("Вы ввели неверные числа, проверьте и введите повтоно.");
            // Вот тут должен быть переход к началу
        }
    }

    private static void Fun(int n, int k)
    {
        int x = 100;

        for (int i = 1; i <= x; i++)
        {
            if ((i % n == 0) && (i % k == 0))
            {
                Write(" FizzBuzz ");
            }
            else if (i % k == 0)
            {
                Write(" Buzz ");
            }
            else if (i % n == 0)
            {
                Write(" Fizz ");
            }
            else
            {
                Write($" {i} ");
            }
        }
    }
}

Подскажите пожалуйста как это сделать.


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

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

Оберните весь код в бесконечный цикл. (for или while). В результате, метод Comprasion будет возвращать управление в Main и программа начинаться с начала

static void Main(string[] args)
{
   for(;;;){
    WriteLine("Введите целое число от 1 до 10.");
    int first_num = Convert.ToInt32(ReadLine());

    WriteLine("Введите еще одно целое число от 1 до 10.");
    int second_num = Convert.ToInt32(ReadLine());

    Comprasion(first_num, second_num);
     } 
}
→ Ссылка
Автор решения: Pekor

Используй if и break - пускай функция Comprasion возвращает bool, а не void, и в зависимости от значения, которое вернет функция используй break или continue:

static void Main(string[] args)
{
    while(true){

        WriteLine("Введите целое число от 1 до 10.");
        int first_num = Convert.ToInt32(ReadLine());
        WriteLine("Введите еще одно целое число от 1 до 10.");
        int second_num = Convert.ToInt32(ReadLine());

        if(Comprasion(first_num, second_num) == true)
             break;
        else
             continue;
    } 
}

private static bool Comprasion(int a, int b)
{
    if (0 > a <= 10 && 0 > b <= 10)
    {
       Fun(a, b);
       return true;
    }
    else
    {
       WriteLine("Вы ввели неверные числа, проверьте и введите повтоно.");
       return false;
    }
}
→ Ссылка