一.goto 是什么?

goto 是 C# 里的无条件跳转语句。作用:直接跳到代码里你标记好的位置,继续执行。

一句话总结:goto = 跳到指定标签,从头再执行一遍。

二.语法

标签名:
    代码块;

goto 标签名;  // 直接跳回上面的标签位置
  • 标签名:你自己起的名字,后面加冒号 :
  • goto + 标签名:立刻跳过去

三. 最经典用法

inputSex:  // 标签:标记一个位置
Console.WriteLine("请输入性别:");
string str = Console.ReadLine();

if (str == "男" || str == "女")
{
    Console.WriteLine("输入正确!");
}
else
{
    Console.WriteLine("输入错误,请重新输入!");
    goto inputSex; // 跳回标签,重新输
}

执行流程

  1. 走到 inputSex:
  2. 让用户输入
  3. 输入错了 → goto 跳回去
  4. 直到输入正确才继续往下走

四.goto 的特点

优点
  • 简单粗暴,适合简单的重复逻辑
  • 新手容易理解
缺点(非常重要)
  • 代码跳来跳去,可读性差
  • 复杂程序里会变成 “面条代码”
  • 企业开发几乎不推荐使用

五.建议

能用 while /for 循环实现的,绝对不要用 goto!
上面的输入验证,标准写法是 while 循环
string str;
while (true)
{
    Console.WriteLine("请输入性别:");
    str = Console.ReadLine();

    if (str == "男" || str == "女")
        break; // 退出循环

    Console.WriteLine("输入错误!");
}

总结

  • goto:无条件跳转到标记位置
  • 标签:代码的 “定位点”,格式 名字:
  • 用途:简单重复逻辑,但不推荐正式使用

更多推荐