C# 中 Break 和 Continue 语句之间的区别

发布:2024-10-25 11:16 阅读:11 点赞:0

一. 引言

在 C# 编程中,控制流语句扮演着至关重要的角色,其中 BreakContinue 语句是最常用的跳转语句。本文将详细解释这两种语句的功能、语法以及使用场景,帮助读者更好地理解它们的区别。

二. C# 中的跳转语句

根据微软的定义,“跳转语句无条件地转移控制。”其中,Break 语句用于终止最近的循环语句或 switch 语句,而 Continue 语句则用于开始新的一轮循环。

简单来说,跳转语句用于在程序执行过程中随时改变控制流。

三. C# 中跳转语句的类型

在 C# 中,主要有以下几种跳转语句:

  1. Break
  2. Continue
  3. Return
  4. Goto
  5. Forward jump
  6. Backward jump
  7. Throw

四. C# 中的 Break 语句

4.1 语法

for (int i = 0; i < 10; i++)
{
    if (i == 5)
        break;  // 当 i 为 5 时退出循环
}

4.2 示例

以下示例展示了 Break 语句的功能。

1) 简单的 Break 语句

namespace BreakVsContinue
{
    internal class ForEachBreak
    {
        static void Main(string[] args)
        {
            int[] numbers = { 0123456789 };  // 数组初始化
            foreach (int number in numbers)  // 遍历数组
            {
                if (number == 7)  // 如果数字为 7
                {
                    break;  // 退出循环
                }

                Console.Write($"{number} ");  // 输出当前数字
            }
            Console.WriteLine();  // 输出换行
            Console.Read();  // 等待用户输入
        }
    }
}

2) 嵌套循环中的 Break 语句

namespace BreakVsContinue.BreakStatement
{
    internal class NestedLoop
    {
        static void Main(string[] args)
        {
            for (int outer = 1; outer <= 7; outer++)  // 外层循环
            {
                for (int inner = 1; inner <= 7; inner++)  // 内层循环
                {
                    if (inner > outer)  // 如果内层数字大于外层数字
                    {
                        break;  // 退出内层循环
                    }

                    Console.Write($"{inner} ");  // 输出内层数字
                }
                Console.WriteLine();  // 输出换行
            }
            Console.Read();  // 等待用户输入
        }
    }
}

五. C# 中的 Continue 语句

5.1 语法

for (int i = 0; i < 10; i++)
{
    if (i == 5)
        continue;    // 当 i 为 5 时跳过本次循环
    Console.WriteLine("Value of i is {0}", i);  // 输出 i 的值
}

5.2 示例

以下示例展示了 Continue 语句的功能。

1) 使用 Continue 语句打印偶数

namespace BreakVsContinue
{
    class PrintEvenNumbers
    {
        static void Main(string[] args)
        {
            for (int i = 1; i <= 20; i++)  // 循环从 1 到 20
            {
                if (i % 2 != 0)  // 如果 i 是奇数
                    continue;  // 跳过当前循环
                Console.WriteLine("Value of i: {0}", i);  // 输出偶数 i 的值
            }
            Console.Read();  // 等待用户输入
        }
    }
}

2) ForEach 循环中的 Continue 语句

namespace BreakVsContinue.Continue_Statement
{
    internal class ForEachContinue
    {
        static void Main(string[] args)
        {
            string[] names = { "Aadi""Aasha""Aarya""Alankriti""Aanandi" };  // 名字数组
            foreach (var name in names)  // 遍历名字数组
            {
                if (name.StartsWith("Aa"))  // 如果名字以 "Aa" 开头
                {
                    continue;  // 跳过当前循环
                }
                Console.WriteLine("Unique Name: {0}", name);  // 输出唯一名字
            }
            Console.Read();  // 等待用户输入
        }
    }
}

六. Break 和 Continue 语句的比较

以下示例展示了 Break 和 Continue 语句的同时使用。

namespace BreakVsContinue
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 1; i <= 10; i++)  // 循环从 1 到 10
            {
                if (i == 6)
                    continue;  // 当 i 为 6 时跳过当前循环
                if (i == 10)
                    break;  // 当 i 为 10 时退出循环
                Console.WriteLine("Value of i: {0} ", i);  // 输出 i 的值
            }
            Console.ReadLine();  // 等待用户输入
        }
    }
}

七. C# 中 Break 和 Continue 语句的区别

序号 关键点 Break 语句 Continue 语句
1 目的 用于结束当前循环迭代或 switch 语句。 用于将程序控制转移到循环的开始位置。
2 语法 break; continue;
3 控制 遇到 Break 语句时,控制立即退出循环结构。 遇到 Continue 语句时,控制自动转移到循环的开始。
4 流程 Break 语句完全退出循环。 Continue 语句进入下一轮循环。

八. 结论

通过本文的详细阐述,我们可以清晰地看到 Break 和 Continue 语句在 C# 中的不同作用与使用场景。理解这些跳转语句的特性,对于提升编程能力和代码的可读性具有重要意义。希望读者在今后的编程实践中,能够灵活运用这两种语句,提高代码的效率和可维护性。