Чем заменить оператор goto?

Добрый день,
Начал изучать C# пишу простое консольное приложение, и хочется, что бы после выполнения какой либо функции программа возвращалась на начало.
Слышал что использование goto - не совсем комильфо,
А Вызов метода() с которого начинается программа переполняет стек вызова.
Как поступить в данном случае?
Использовать goto, или есть другие операторы?
Или же есть способ чистки стека вызова?
  • Вопрос задан
  • 2374 просмотра
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
после выполнения какой либо функции программа возвращалась на начало.


Обычно для этого в main гоняют бесконечный цикл, в котором уже запускают нужные функции. Тогда когда функция отработала, она просто заканчивает работу и управление возвращается обратно циклу. А там уже в зависимости от пользовательского ввода или сигналов можно убивать цикл и выходить из программы.
Ответ написан
Комментировать
@jackroll
Сверхразум
Вот так например:
static void Main()
{
	string password = Console.ReadLine()
	if(password.Contains(" ")
	{
		Console.WriteLine("Введите пароль еще раз: ";
		Main();
	}
}


Либо:
static void Main()
{
  for(;;) 
  {
    string password = Console.ReadLine()
    if(password.Contains(" ")
    {
      Console.WriteLine("Введите пароль еще раз: ";
      continue;
    }
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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