跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
C Sharp Break Continue
”︁
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
= C# Break Continue = '''Break''' 和 '''Continue''' 是 C# 中用于控制循环执行流程的关键字。它们允许程序员在特定条件下提前终止循环或跳过当前迭代,从而更灵活地控制程序逻辑。 == 介绍 == 在 C# 中,循环结构(如 `for`、`while`、`do-while` 和 `foreach`)通常会按照既定条件执行,但有时我们需要在满足某些条件时改变循环的行为: * '''break''':立即终止整个循环,跳出循环体。 * '''continue''':跳过当前迭代的剩余部分,直接进入下一次循环。 这两个关键字通常与条件语句(如 `if`)结合使用,以实现更精细的流程控制。 == break 语句 == `break` 语句用于强制退出当前循环,不再执行循环体内的剩余代码,并继续执行循环之后的语句。 === 语法 === <syntaxhighlight lang="csharp"> while (condition) { // 代码块 if (breakCondition) { break; // 退出循环 } // 其他代码(在 break 后不会执行) } </syntaxhighlight> === 示例 === <syntaxhighlight lang="csharp"> for (int i = 1; i <= 10; i++) { if (i == 5) { break; // 当 i 等于 5 时终止循环 } Console.WriteLine(i); } </syntaxhighlight> '''输出:''' <pre> 1 2 3 4 </pre> '''解释:''' 循环在 `i` 等于 5 时被 `break` 终止,因此只输出 1 到 4。 == continue 语句 == `continue` 语句用于跳过当前迭代的剩余部分,直接进入下一次循环。 === 语法 === <syntaxhighlight lang="csharp"> for (initialization; condition; iteration) { // 代码块 if (continueCondition) { continue; // 跳过本次迭代 } // 其他代码(在 continue 后不会执行) } </syntaxhighlight> === 示例 === <syntaxhighlight lang="csharp"> for (int i = 1; i <= 5; i++) { if (i == 3) { continue; // 跳过 i = 3 的迭代 } Console.WriteLine(i); } </syntaxhighlight> '''输出:''' <pre> 1 2 4 5 </pre> '''解释:''' 当 `i` 等于 3 时,`continue` 跳过了 `Console.WriteLine(i)`,因此 3 没有被输出。 == 实际应用场景 == === 搜索算法中的 break === 在搜索数组中某个元素时,一旦找到目标即可使用 `break` 提前终止循环,提高效率。 <syntaxhighlight lang="csharp"> int[] numbers = { 10, 20, 30, 40, 50 }; int target = 30; bool found = false; for (int i = 0; i < numbers.Length; i++) { if (numbers[i] == target) { found = true; break; // 找到后立即退出循环 } } Console.WriteLine($"元素 {target} {(found ? "找到" : "未找到")}"); </syntaxhighlight> '''输出:''' <pre> 元素 30 找到 </pre> === 数据处理中的 continue === 在处理数据时,可能需要跳过某些不符合条件的项。 <syntaxhighlight lang="csharp"> int[] scores = { 85, 90, 55, 70, 45 }; int passingScore = 60; foreach (int score in scores) { if (score < passingScore) { continue; // 跳过不及格的分数 } Console.WriteLine($"及格分数: {score}"); } </syntaxhighlight> '''输出:''' <pre> 及格分数: 85 及格分数: 90 及格分数: 70 </pre> == 嵌套循环中的 break 和 continue == 在嵌套循环中,`break` 和 `continue` 仅影响最内层的循环。 === 示例 === <syntaxhighlight lang="csharp"> for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { if (j == 2) { break; // 仅退出内层循环 } Console.WriteLine($"i = {i}, j = {j}"); } } </syntaxhighlight> '''输出:''' <pre> i = 1, j = 1 i = 2, j = 1 i = 3, j = 1 </pre> '''解释:''' 当 `j == 2` 时,内层循环被 `break` 终止,但外层循环继续执行。 == 流程图 == 使用 Mermaid 展示 `break` 和 `continue` 的流程: <mermaid> graph TD A[开始循环] --> B{条件满足?} B -->|是| C[执行循环体] C --> D{遇到 break?} D -->|是| E[退出循环] D -->|否| F{遇到 continue?} F -->|是| G[跳过剩余代码] G --> B F -->|否| H[继续执行循环体] H --> B B -->|否| I[循环结束] </mermaid> == 数学表示 == `break` 和 `continue` 可以形式化表示为: * '''break''':设循环条件为 <math>C</math>,则 <math>\text{break} \Rightarrow \neg C</math>(强制使条件为假)。 * '''continue''':设当前迭代为 <math>i</math>,则 <math>\text{continue} \Rightarrow i \leftarrow i + 1</math>(直接进入下一次迭代)。 == 总结 == * `break` 用于完全退出循环。 * `continue` 用于跳过当前迭代。 * 两者通常与条件语句配合使用。 * 在嵌套循环中,它们仅影响最近的循环层。 合理使用 `break` 和 `continue` 可以使代码更简洁高效,但过度使用可能导致逻辑难以理解,建议在必要时谨慎使用。 [[Category:编程语言]] [[Category:C Sharp]] [[Category:C Sharp 控制流]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)