我前几天刚开始学习C#。什么时候开始学习 到了 语句,我找到了这样的例子。
ineligible:
Console.WriteLine("Not eligible for voting");
Console.WriteLine("Enter your age");
int age = int.Parse(Console.ReadLine());
if (age < 18)
{
goto ineligible;
}
else
{
Console.WriteLine("Voting request accepted");
}
然后,我修改了这样的代码。
int age = int.Parse(Console.ReadLine());
ineligible:
Console.WriteLine("Not eligible for voting");
if (age < 18)
{
goto ineligible;
}
else
{
Console.WriteLine("Voting request accepted");
}
然后,我得到了一个无限迭代 无投票资格. 迭代的形象
为什么会发生迭代而不是打印 不合格 只有一次?
你在生活中不应该在任何地方使用这个。看完这个改一下代码,试一次,学会了就忘了。
为什么你的第一个案例能成功?
因为你有Console.Readline(),所以它会等待你的响应。
ineligible:
Console.WriteLine("Not eligible for voting");
Console.WriteLine("Enter your age");
int age = int.Parse(Console.ReadLine());
if (age < 18)
{
goto ineligible;
}
为什么第二种情况会导致无限循环?
因为你在Console.ReadLine()语句的下面加上了ineligible:。
int age = int.Parse(Console.ReadLine());
ineligible:
Console.WriteLine("Not eligible for voting");
所以这个循环将是永远的,它不会期待你的输入或干扰。
再次学习它,然后忘记它。