【C#零基础从入门到精通】(十二)——C# break、continue、goto:跳出循环详解

【C#零基础从入门到精通】(十二)——C# break、continue、goto:跳出循环详解

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

1. break 语句

功能概述

break 语句主要用于立即终止当前所在的循环结构(forforeachwhiledo-while)或者 switch 语句,程序的执行流程会跳出该结构,继续执行结构后面的代码。

语法

在循环体或者 switch 语句中直接使用 break; 即可。

在循环中的使用示例
using System;

class Program
{
    static void Main()
    {
        for (int i = 0; i < 10; i++)
        {
            if (i == 5)
            {
                break; // 当 i 等于 5 时,终止循环
            }
            Console.WriteLine(i);
        }
        Console.WriteLine("循环结束后继续执行这里的代码");
    }
}

在上述代码中,当 i 的值变为 5 时,break 语句被执行,for 循环立即终止,程序会跳转到循环后面的 Console.WriteLine("循环结束后继续执行这里的代码"); 语句继续执行。

switch 语句中的使用示例
using System;

class Program
{
    static void Main()
    {
        int choice = 2;
        switch (choice)
        {
            case 1:
                Console.WriteLine("选择了 1");
                break;
            case 2:
                Console.WriteLine("选择了 2");
                break; // 执行完该 case 块后,跳出 switch 语句
            case 3:
                Console.WriteLine("选择了 3");
                break;
            default:
                Console.WriteLine("无效选择");
                break;
        }
        Console.WriteLine("switch 语句结束后继续执行这里的代码");
    }
}

这里,当 choice 的值为 2 时,执行 case 2 块中的代码,遇到 break 后,程序跳出 switch 语句,继续执行后面的代码。

2. continue 语句

功能概述

continue 语句用于跳过当前循环迭代中剩余的代码,直接进入下一次循环迭代。也就是说,当执行到 continue 语句时,循环体中 continue 语句后面的代码将不会被执行,程序会根据循环的控制条件判断是否进行下一次迭代。

语法

在循环体中使用 continue;

使用示例
using System;

class Program
{
    static void Main()
    {
        for (int i = 0; i < 10; i++)
        {
            if (i == 5)
            {
                continue; // 当 i 等于 5 时,跳过本次循环的剩余代码,直接进入下一次循环
            }
            Console.WriteLine(i);
        }
        Console.WriteLine("循环结束后继续执行这里的代码");
    }
}

在这个例子中,当 i 等于 5 时,continue 语句被执行,Console.WriteLine(i); 这行代码将被跳过,程序直接进入下一次循环,也就是 i 变为 6 时的循环迭代。

3. goto 语句

功能概述

goto 语句允许程序无条件地跳转到同一方法内的另一个带有标签的语句处。虽然 goto 语句提供了强大的跳转功能,但过度使用会使代码的逻辑变得复杂,降低代码的可读性和可维护性,因此一般不建议频繁使用。

语法

goto 语句的语法通常为 goto 标签名; ,标签名是在代码中定义的一个标识符,后面跟着冒号 :

使用示例
using System;

class Program
{
    static void Main()
    {
        int i = 0;
    Start:
        if (i < 10)
        {
            Console.WriteLine(i);
            i++;
            goto Start; // 跳转到 Start 标签处继续执行
        }
        Console.WriteLine("循环结束后继续执行这里的代码");
    }
}

在上述代码中,定义了一个标签 Start 。程序执行到 goto Start; 语句时,会跳转到 Start 标签所在的位置继续执行,形成了一个类似循环的结构。

注意事项
  • 标签作用域:标签的作用域是定义它的整个方法,也就是说,goto 语句只能在同一个方法内跳转到标签处。
  • 代码可读性:由于 goto 语句会破坏代码的正常执行流程,使代码的逻辑变得难以理解和跟踪,所以在实际开发中应谨慎使用,尽量使用更结构化的控制语句(如 if-elseforwhile 等)来实现程序逻辑。

综上所述,breakcontinuegoto 语句在 C# 中各自有着独特的功能和使用场景,同学们可以合理运用它们可以有效地控制程序的执行流程,但要注意避免因不当使用而导致代码的混乱。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Csharp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值