河北省建设厅网站官网业务系统/中国教育培训网

河北省建设厅网站官网业务系统,中国教育培训网,海口做网站,中土南方建设有限公司网站在C#中,循环是一种控制结构,用于重复执行一组语句直到满足特定条件。C#提供了几种循环结构,包括for循环、while循环、do-while循环和foreach循环。每种循环都有其特定的用途和场景。下面我将逐一介绍这些循环的用法。 一、C#循环类型 1. fo…

在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‌

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/73033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言(23)

字符串函数 11.strstr函数 1.1函数介绍&#xff1a; 头文件&#xff1a;string.h char *strstr ( const char * str1,const char *str2); 作用&#xff1a;在一个字符串&#xff08;str1&#xff09;中寻找另外一个字符串&#xff08;str2&#xff09;是否出现过 如果找到…

Vue3实战学习(Vue3的基础语法学习与使用(超详细))(3)

目录 &#xff08;1&#xff09;Vue3工程环境准备、项目基础脚手架搭建详细教程。(博客链接) &#xff08;2&#xff09;Vue3的基础语法学习与使用。 &#xff08;1&#xff09;"{{}}"绑定数据。 <1>ref()函数定义变量——绑定数据。 <2>reactive({...})…

vtkDepthSortPolyData 根据相机视图方向对多边形数据进行排序

1. 作用 在 3D 渲染中&#xff0c;透明对象的渲染顺序非常重要。如果透明对象的渲染顺序不正确&#xff0c;可能会导致错误的视觉效果&#xff08;例如&#xff0c;远处的透明对象遮挡了近处的透明对象&#xff09;。vtkDepthSortPolyData 通过对多边形数据进行深度排序&#…

【2025力扣打卡系列】0-1背包 完全背包

坚持按题型打卡&刷&梳理力扣算法题系列&#xff0c;语言为python3&#xff0c;Day5 0-1背包【目标和】 有n个物品&#xff0c;第i个物品的体积为w[i], 价值为v[i]。每个物品至多选一个&#xff0c;求体积和不超过capacity时的最大价值和常见变形 至多装capacity&#x…

《人月神话》:软件工程的成本寓言与生存法则

1975年&#xff0c;Fred Brooks在《人月神话》中写下那句振聋发聩的断言——“向进度落后的项目增加人力&#xff0c;只会让进度更加落后”——时&#xff0c;他或许未曾料到&#xff0c;这一观点会在半个世纪后的人工智能与云原生时代&#xff0c;依然如达摩克利斯之剑般悬在每…

三维建模与视频融合(3D-Video Integration)技术初探。

三维建模与视频融合&#xff08;3D-Video Integration&#xff09;是一种将虚拟三维模型无缝嵌入实拍视频场景的技术&#xff0c;广泛应用于影视特效、增强现实&#xff08;AR&#xff09;、游戏开发、广告制作 、视频监控 等领域。 一、技术核心流程 三维建模与动画 使用工具…

SpringMVC-全局异常处理

文章目录 1. 全局异常处理2. 项目异常处理方案2.1 异常分类2.2 异常解决方案2.3 异常解决方案具体实现 1. 全局异常处理 问题&#xff1a;当我们在SpingMVC代码中没有对异常进行处理时&#xff0c;三层架构的默认处理异常方案是将异常抛给上级调用者。也就是说Mapper层报错会将…

blazemeter工具使用--用于自动生成jmeter脚本并进行性能测试

1、安装blazemeter&#xff08;网上有很多详情的教程&#xff09; 2、开始录制&#xff1a;设置号你的文件名称后开始录制 3、录制完成后保存为jmeter(jmx)文件 4、在jmeter中打开文件 5、添加一个后置处理器&#xff1a;查看结果树&#xff0c;后运行看看能否成功&#xf…

【C#实现手写Ollama服务交互,实现本地模型对话】

前言 C#手写Ollama服务交互&#xff0c;实现本地模型对话 最近使用C#调用OllamaSharpe库实现Ollama本地对话&#xff0c;然后思考着能否自己实现这个功能。经过一番查找&#xff0c;和查看OllamaSharpe源码发现确实可以。其实就是开启Ollama服务后&#xff0c;发送HTTP请求&a…

【C#学习笔记02】基本元素与数据类型

引言 深入了解C语言的基本元素、计算机存储器结构、常量与变量的概念以及数据类型。这些内容是C语言编程的基础&#xff0c;掌握它们对于编写高效、可靠的嵌入式程序至关重要。 1.C语言的基本元素 ​编程语言的发展离不开自然语言&#xff0c;所以编程语言的语法和词汇也是由…

ESP8266TCP客户端(单连接TCP Client)

单连接TCP Client 电脑作为服务器&#xff0c;8266作为客户端 1.配置WiFi模式 ATCWMODE3 //softAPstation mode 相应&#xff1a;ok 2.连接路由器 ATCWJAP“SSID”&#xff0c;“password” //SSID就是wifi的名字&#xff0c; password WIFI密码 响应&#xff…

VSCode 2025最新前端开发必备插件推荐汇总(提效指南)

&#x1f31f;前言: 如果你是一名前端开发工程师&#xff0c;合适的开发工具能大大提高工作效率。Visual Studio Code (VSCode) 凭借其轻量级、高扩展性的特点&#xff0c;已成为众多前端开发者在win系电脑的首选IDE。 名人说&#xff1a;博观而约取&#xff0c;厚积而薄发。—…

Java学习--Redis

官网&#xff1a;https://redis.io 中文网&#xff1a;Redis中文网 Redis安装包分为 Windows 版和 Linux 版&#xff1a; Windows版下载地址&#xff1a;Releases microsoftarchive/redis GitHub Linux版下载地址&#xff1a; Index of /releases/ 一、Redis简介 Redis是…

matlab慕课学习3.2+3.3

于20250310 3.2用if语句实现选择结构 3.2.1什么是选择结构 用if 语句和switch语句可实现选择结构 3.2.2单分支if语句 if 条件语句组 %可以是一条也可是多条end 当条件为标量&#xff0c;非0表成立&#xff0c;0表示不成立。 当条件为矩阵时&#xff0c;矩阵非空&#xff…

【Java学习】包装类

面向对象系列九 包装类变量 一、装箱 1.实例化包装对象 2.静态缓存池 3.写法 二、拆箱 包装类变量 每个基本数据类型都有对应的基本类型的包装类变量&#xff0c;将基本数据类型通过对应的包装类对象载入着进入到类与对象面向对象体系 一、装箱 Integer.valueOf(int) —…

【第22节】C++设计模式(行为模式)-Iterator(迭代器)模式

一、问题背景 Iterator 模式是设计模式中最为常见和实用的模式之一。它的核心思想是将对聚合对象的遍历操作封装到一个独立的类中&#xff0c;从而避免暴露聚合对象的内部表示。通过 Iterator 模式&#xff0c;我们可以实现对聚合对象的统一遍历接口&#xff0c;而不需要关心聚…

基于windows的MySQL安装(2025最新,小白可用)

目录 一&#xff0c;下载官网地址&#xff08;及版本选择&#xff09;&#xff1a; 二&#xff0c;以安装程序的方式安装MySQL 1&#xff0c;安装过程 2&#xff0c;用客户端使用MySQL 3&#xff0c;配置环境变量在windows命令行界面使用mysql 下次开机后手动启用服务 三…

4个 Vue 路由实现的过程

大家好&#xff0c;我是大澈&#xff01;一个喜欢结交朋友、喜欢编程技术和科技前沿的老程序员&#x1f468;&#x1f3fb;‍&#x1f4bb;&#xff0c;关注我&#xff0c;科技未来或许我能帮到你&#xff01; Vue 路由相信朋友们用的都很熟了&#xff0c;但是你知道 Vue 路由…

数学之快速幂-数的幂次

题目描述 给定三个正整数 N,M,P&#xff0c;求 输入描述 第 1 行为一个整数 T&#xff0c;表示测试数据数量。 接下来的 T 行每行包含三个正整数 N,M,P。 输出描述 输出共 T 行&#xff0c;每行包含一个整数&#xff0c;表示答案。 输入输出样例 示例 1 输入 3 2 3 7 4…

【JavaEE】多线程进阶(2)

【JavaEE】多线程进阶&#xff08;2&#xff09; 一、JUC(java.util.concurrent) 的常⻅类1.1 Callable 接⼝1.2 ReentrantLock1.3 原子类原子类的特性&#xff1a;常见原子类&#xff1a;原子类的实例&#xff1a; 1.4 线程池1.5 信号量 Semaphore代码实例 1.6 CountDownLatch…