(十二)C#编程基础复习——break、continue、goto:跳出循环

特此声明:本教程内容可能有部分参照其他博主的观点或描述,但始终不影响我学习的热情,代码全部自己手工敲打,编辑此教程目的不是为了博取大家眼球,也不是为利益所驱,只是纯属为了方便自己学习,编辑的过程中也让自己加深了对C#各个基础的印象,同时也让自己编码过程更加流畅顺利,最后还能帮助到有需要的人,代码都是自己亲测有效,如有侵权可以联系本人删除。

在使用循环语句时,并不是必须等待循环完成后才能退出循环,我们也可以主动退出循环,C#为我们提供了break、continue和goto三种方式来跳出循环:

1.break(直接跳出条件循环,后面的程序将不执行

它不仅可以用来终止switch语句,在循环语句中使用时还可以用来跳出循环,执行循环外的下一条语句。如果是在嵌套循环中使用,例如在内层的循环中使用break语句,那么程序只会跳出内层的循环,并不会影响到外层循环的执行。

代码示例如下:

for (int i = 1; i <= 9; i++)
{
    if (i == 5)
    {
        break;
    }
    Console.Write("{0}",i);
}
Console.ReadLine();
Console.ReadKey();

运行结果:

2.continue(类似断点,跳出条件循环,但不影响继续执行

C#中continue语句的工作原理与break语句类似,但是continue语句并不会跳出整个循环,而是跳过本次循环继续执行下一次的循环。

示例代码如下:

for(int i=1;i<=9;i++)
{
    if(i==5)
    {
        continue;
    }
    Console.Write("{0}", i);
}
Console.ReadLine();

运行结果:

3.goto(可以跳到指定位置执行语句

C#中的goto语句也称为跳转语句,使用它可以控制程序跳转到指定的位置执行。不过并不建议在程序中多次使用goto语句,因为它会程序变得更加复杂。在使用goto语句来跳转程序之前,必须先在想要跳转的位置定义好一个标签(labels),标签的名称的定义和变量名相似,然后使用goto标签名;即可使程序跳转到指定位置执行。goto语句并不限于在循环中使用,其他的情况也可以使用,但是,goto语句不能从循环外跳到循环语句中,而且不能跳出类的范围。

示例代码如下:

            int count = 1;
        login:
            for (int b = 0; b <= count; b++)
            {

                Console.WriteLine("第{0}次:请输入用户名", count);
                string username = Console.ReadLine();
                Console.WriteLine("第{0}次:请输入密码", count);
                string userpwd = Console.ReadLine();
                if (username == "admin" && userpwd == "123456")
                {
                    Console.WriteLine("登录成功");
                    Console.WriteLine("正在退出");
                    goto end;
                }
                else
                {
                    break;
                }
            }
        count++;
        if (count > 3)
           {
              Console.WriteLine("用户名或者密码错误次数过多!退出");
           }
        else
           {
              Console.WriteLine("用户名或密码错误");
              goto login;//返回login标签处重新输入用户名密码;
           }
        end:
            Console.ReadKey();

运行结果:

posted @   代号六零一  阅读(704)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示