Я только начинаю с C#, и здесь я сделал небольшую программу. Мне просто интересно, является ли goto
действительным способом возврата к определенным разделам моего кода, или если есть более подходящий и практичный способ сделать это.Новичок C# Хорошая практика
namespace Section5Tests
{
class Program
{
static void Main(string[] args)
{
Start:
var number = new Random().Next(1, 10);
int secret = number;
Console.WriteLine("Secret Number is between 1 and 10. ");
for (var i = 0; i < 10; i++)
{
Console.WriteLine("Guess the secret number you only have 3 attempts!");
Middle:
var guess = Convert.ToInt32(Console.ReadLine());
if (guess == secret)
{
Console.WriteLine("WoW! You got it! Well done!");
goto Playagain;
}
else
{
Console.WriteLine("Incorrect! Try again");
goto Middle;
}
}
Console.WriteLine("Sorry you lost =(");
Playagain:
Console.WriteLine("Try Again? Y/N");
var answer = Console.ReadLine();
if (answer.ToLower() == "y")
{
goto Start;
}
else
{
Console.WriteLine("Thankyou for playing =)");
}
}
}
}
Если вам нужно спросить, вы не готовы к GOTO. Не используйте его. Вместо этого используйте петли, условия и функции. –
Я писал код с середины 1980-х годов и (вне кода сборки) никогда не писал ни одного goto. Существует почти всегда лучший способ. –
Ну, не стесняйтесь пролить свет на эти лучшие способы для меня –