C# 中 Break 和 Continue 语句之间的区别
阅读:11
点赞:0
一. 引言
在 C# 编程中,控制流语句扮演着至关重要的角色,其中 Break 和 Continue 语句是最常用的跳转语句。本文将详细解释这两种语句的功能、语法以及使用场景,帮助读者更好地理解它们的区别。
二. C# 中的跳转语句
根据微软的定义,“跳转语句无条件地转移控制。”其中,Break 语句用于终止最近的循环语句或 switch 语句,而 Continue 语句则用于开始新的一轮循环。
简单来说,跳转语句用于在程序执行过程中随时改变控制流。
三. C# 中跳转语句的类型
在 C# 中,主要有以下几种跳转语句:
-
Break -
Continue -
Return -
Goto -
Forward jump -
Backward jump -
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 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // 数组初始化
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# 中的不同作用与使用场景。理解这些跳转语句的特性,对于提升编程能力和代码的可读性具有重要意义。希望读者在今后的编程实践中,能够灵活运用这两种语句,提高代码的效率和可维护性。