当前位置: 首页 > news >正文

C#常用的循环语句

在C#中,循环是一种控制结构,用于重复执行一组语句直到满足特定条件。C#提供了几种循环结构,包括for循环、while循环、do-while循环和foreach循环。每种循环都有其特定的用途和场景。下面我将逐一介绍这些循环的用法。

一、C#循环类型

1. for 循环

for循环是最常用的循环之一,它由初始化部分、条件表达式和迭代部分组成。

for (int i = 0; i < 10; i++)
{
    Console.WriteLine(i);
}

2. while 循环
while循环在给定条件为真时重复执行代码块。

int i = 0;
while (i < 10)
{
    Console.WriteLine(i);
    i++;
}

3. do-while 循环
do-while循环至少执行一次代码块,然后在每次迭代后检查条件。

int i = 0;
do
{
    Console.WriteLine(i);
    i++;
} while (i < 10);

4. foreach 循环
foreach循环用于遍历数组或集合中的每个元素。它通常用于读取集合中的元素,而不是修改它们。

int[] numbers = { 1, 2, 3, 4, 5 };
foreach (int number in numbers)
{
    Console.WriteLine(number);
}

示例:使用循环打印1到10的数字

// 使用for循环

for (int i = 1; i <= 10; i++)
{
    Console.WriteLine(i);
}

// 使用while循环

int i = 1;
while (i <= 10)
{
    Console.WriteLine(i);
    i++;
}
 

// 使用do-while循环

int j = 1;
do
{
    Console.WriteLine(j);
    j++;
} while (j <= 10);

注意事项:

  • 在使用for和while循环时,确保更新循环变量以避免无限循环。

  • 在使用foreach循环时,通常不修改集合中的元素,因为这将违反集合的预期用途并可能导致运行时错误。如果需要修改元素,请使用索引器或使用其他类型的循环(例如for)。

  • 选择合适的循环类型可以提高代码的可读性和效率。例如,当你需要遍历数组或集合的所有元素时,使用foreach;当你需要重复执行直到满足某个条件时,使用while或do-while;当你需要精确控制迭代次数时,使用for循环

二、循环终止方式

1‌.自然终止‌

  • 当循环条件变为false时自动退出(如for循环的计数器超出范围或while循环的条件不再满足)‌。

2‌.break语句‌

  • 作用‌:立即终止当前所在循环,跳出循环体‌。
  • 示例‌:
for (int i = 0; i < 10; i++) 
{
    if (i == 5) break;  // 当i=5时终止循环
}

3‌.continue语句‌

  • 作用‌:跳过当前迭代,进入下一次循环‌45。
  • 示例‌:
for (int i = 0; i < 5; i++) 
{
    if (i % 2 == 0) continue;  // 跳过偶数
    Console.WriteLine(i);      // 输出1,3
}

4‌.goto语句‌

  • 作用‌:跳转到指定标签位置,可退出多层嵌套循环‌56。
  • 示例‌:
for (int i = 0; i < 3; i++) 
{
    for (int j = 0; j < 3; j++) 
    {
        if (j == 1) goto Exit;  // 跳转到Exit标签
    }
}
Exit: Console.WriteLine("已跳出循环");

‌注意‌:过度使用会降低代码可读性‌。

三、选择终止方式的建议‌

终止方式适用场景注意事项
‌自然终止‌条件明确且可预测的循环确保循环条件最终变为false
‌break‌需提前终止循环(如错误检测)仅终止当前循环层
‌continue‌跳过特定迭代(如过滤数据)避免跳过必要的循环终止条件
‌goto‌多层嵌套循环需快速退出谨慎使用,优先替代方案

通过合理选择循环类型和终止方式,可显著提升代码效率和可维护性。建议优先使用break和continue,仅在必要时使用goto‌

相关文章:

  • 刷leetcode hot100--动态规划3.9
  • prompt大师高效提示词解析
  • 《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)问题 A: 【递归入门】全排列
  • [pytest] 配置
  • 中国信通院安全所青藤云安全联合牵头:容器安全评价新标准正式发布
  • Oxidized收集H3C交换机网络配置报错,not matching configured prompt (?-mix:^(<CD>)$)
  • prompt样例库推荐
  • 《领导力21法则》第一章「盖子法则」笔记
  • 自动运维部署工具实现
  • Python Flask 在网页应用程序中处理错误和异常
  • MySQL配置文件my.cnf和mysql.cnf、mysqld.cnf的区别
  • 【算法】二叉树的递归遍历
  • 【Axure资料】110套优质可视化大屏模板+图表组件+科技感元件等
  • Filebeat收集nginx日志到elasticsearch,最终在kibana做展示。
  • 绪论数据结构基本概念(刷题笔记)
  • Docker数据管理,端口映射与容器互联
  • 华为hcia——Datacom实验指南——三层交换和ARP的工作原理
  • 【愚公系列】《AI Agent技术、应用与商业》003-Al Agent 的分类方式
  • 【从零开始学习计算机科学】计算机组成原理(七)存储器与存储器系统
  • 系统架构的评估的系统的质量属性
  • 对话作家吉井忍:“滚石”般的生活,让我看到多种人生可能
  • 电子凭证会计数据标准推广至全国
  • 全总联合六部门印发工作指引,共保劳动者合法权益
  • 罗马教皇利奥十四世正式任职
  • 中国首颗地质行业小卫星“浙地一号”成功发射
  • 被围观的“英之园”,谁建了潮汕天价违建?