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

C#循环入门指南:从0到1掌握循环逻辑

一、for循环已知循环次数首选它for循环是最常用、最规范的循环适合已知循环次数的场景比如打印10遍文字、计算1到100的和。它的结构很固定就像一个“固定流程的重复机器”一步都不会乱。1. for循环的基本结构先看语法格式括号里有3个部分用分号分隔缺一不可但可以省略内容后面会说for (初始化循环变量; 循环条件; 更新循环变量) { // 要重复执行的代码循环体 }2. 案例打印1到10需求打印1到10的数字每打印一个换一行。代码如下using System; namespace LoopDemo { class Program { static void Main(string[] args) { // for循环打印1到10 for (int i 1; i 10; i) { Console.WriteLine(i); // 循环体打印当前的i值 } Console.ReadKey(); // 停留控制台方便查看结果 } } }运行结果会依次打印1、2、3...10完美实现重复执行。这里要注意一个新手易错点循环变量i是在for循环的初始化部分声明的只能在循环体内使用出了循环就会报错这是C#的变量作用域规则。二、while循环未知循环次数先判断后执行while循环适合未知循环次数的场景比如让用户输入密码直到输入正确为止。它的逻辑很简单先判断条件条件成立就执行循环体不成立就直接退出相当于“先检查再干活”。while (循环条件) { // 要重复执行的代码循环体 // 注意循环体内要更新条件中的变量避免无限循环 }和for循环相比while循环没有专门的初始化和更新部分这两部分需要我们自己写在合适的位置——初始化变量写在while循环之前更新变量写在循环体内。案例密码验证需求让用户输入密码直到输入“123456”为止输入错误就提示“密码错误请重新输入”。using System; namespace LoopDemo { class Program { static void Main(string[] args) { // 初始化变量存储用户输入的密码 string password ; // 循环条件只要密码不等于123456就继续循环 while (password ! 123456) { Console.Write(请输入密码); password Console.ReadLine(); // 接收用户输入更新变量 if (password ! 123456) { Console.WriteLine(密码错误请重新输入); } } Console.WriteLine(密码正确欢迎登录); Console.ReadKey(); } } }三、do-while循环未知循环次数先执行后判断do-while循环和while循环很像都适合未知循环次数的场景但唯一的区别是do-while循环会先执行一次循环体再判断条件——也就是说不管条件是否成立循环体至少会执行一次。do { // 要重复执行的代码循环体 // 同样需要更新循环变量 } while (循环条件);注意do-while循环的末尾有一个分号千万不要漏写。案例强制输入正确性别需求让用户输入性别男/女如果输入错误就重新输入直到输入正确为止。这里要求“必须先让用户输入一次再判断是否正确”所以用do-while循环最合适。using System; namespace LoopDemo { class Program { static void Main(string[] args) { string gender ; do { Console.Write(请输入性别男/女); gender Console.ReadLine(); if (gender ! 男 gender ! 女) { Console.WriteLine(输入错误请输入“男”或“女”); } } while (gender ! 男 gender ! 女); // 循环条件输入错误就继续循环 Console.WriteLine(输入正确你的性别是 gender); Console.ReadKey(); } } }运行这个程序你会发现即使一开始输入错误比如输入“123”循环体也会先执行一次让用户输入再判断条件——这就是do-while和while的核心区别。四、3种循环的核心区别新手必记学到这里很多新手会分不清什么时候用哪种循环这里用一张简单的表格总结记住这3点再也不纠结循环类型核心特点适用场景for循环已知循环次数结构固定先判断后执行打印固定次数、遍历数组/集合、计算固定次数的累加/累乘while循环未知循环次数先判断后执行可能一次都不执行密码验证、用户输入判断不需要强制执行一次do-while循环未知循环次数先执行后判断至少执行一次强制用户输入、必须执行一次的逻辑比如初始化操作五、必看的循环通用技巧1. 如何跳出循环break和continue的区别在循环中我们经常需要“提前退出循环”或“跳过当前循环”这时候就需要用到break和continue两者的区别一定要分清break直接跳出整个循环不管后面还有多少次循环都不再执行continue跳过当前这次循环直接进入下一次循环的判断不会跳出整个循环。简单案例打印1到10遇到5就跳过遇到8就直接退出循环for (int i 1; i 10; i) { if (i 5) { continue; // 跳过5直接进入下一次循环 } if (i 8) { break; // 遇到8直接跳出整个循环 } Console.WriteLine(i); }2. 避免无限循环无限循环是新手最容易犯的错误程序一旦进入无限循环就会卡死只能强制关闭。避免无限循环的核心就是确保循环条件最终会变为false也就是循环体内一定要有更新循环变量的代码比如i、password Console.ReadLine()。// 错误1for循环漏写更新变量 for (int i 1; i 10; ) { Console.WriteLine(i); // 没有ii一直是1循环条件永远为true } // 错误2while循环没有更新变量 int j 1; while (j 10) { Console.WriteLine(j); // 没有j无限循环 }

相关文章:

C#循环入门指南:从0到1掌握循环逻辑

一、for循环:已知循环次数,首选它for循环是最常用、最规范的循环,适合已知循环次数的场景(比如打印10遍文字、计算1到100的和)。它的结构很固定,就像一个“固定流程的重复机器”,一步都不会乱。…...

【大模型服务治理实战指南】:奇点智能大会首发的7大避坑法则与3套可落地架构模板

更多请点击: https://intelliparadigm.com 第一章:大模型服务治理:奇点智能大会 在2024年奇点智能大会上,大模型服务治理成为核心议题。随着LLM推理服务规模化部署,企业面临模型版本混乱、流量调度失衡、资源隔离缺失…...

专业指南:如何用Legacy-iOS-Kit一站式管理老旧苹果设备

专业指南:如何用Legacy-iOS-Kit一站式管理老旧苹果设备 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...

SMU5.4-5.10补题

牛客Round142 A-E题vj A,B,C,D,F...

QMCDecode:解锁QQ音乐加密文件,三步实现音乐格式自由转换

QMCDecode:解锁QQ音乐加密文件,三步实现音乐格式自由转换 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录&am…...

英雄联盟智能辅助工具Seraphine:三步快速上手的终极指南

英雄联盟智能辅助工具Seraphine:三步快速上手的终极指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否厌倦了在英雄联盟排位赛中手忙脚乱地查询对手战绩?是否希望有一个智能助…...

Spring MVC 的核心知识点梳理

MVC 是什么 MVC 不是 Spring 发明的,而是一种设计模式,目的是“解耦”。 M(Model,模型):数据 业务逻辑。比如 Teacher 类,TeacherService。V(View,视图)&…...

IP第一次作业

...

HCIA前三章综合实验报告

实验要求按照图示配置IP地址完成路由器之间的协议配置构建需求的环境,配置MGRE,GRE测试全网通实验配置(1)配置IP地址[R1-GigabitEthernet0/0/0]ip address 192.168.1.2 24[R1-Serial4/0/0]ip address 15.1.1.1 24[R2-GigabitEther…...

如何让Windows任务栏变透明:TranslucentTB终极美化指南

如何让Windows任务栏变透明:TranslucentTB终极美化指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想让你的Windows桌面焕…...

微信网页版终极解决方案:三步实现浏览器端微信完整使用指南

微信网页版终极解决方案:三步实现浏览器端微信完整使用指南 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为繁琐的微信安装流程而烦…...

Android虚拟定位终极指南:无需Root的应用级位置伪装解决方案

Android虚拟定位终极指南:无需Root的应用级位置伪装解决方案 【免费下载链接】FakeLocation Xposed module to mock locations per app. 项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation 你是否遇到过这样的困扰:想在游戏中签到获取限…...

GetQzonehistory:三步轻松备份QQ空间历史说说,永久保存青春记忆

GetQzonehistory:三步轻松备份QQ空间历史说说,永久保存青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心QQ空间里的青春记忆会随着时间流逝而消…...

SpringBoot项目里用Sharding-JDBC做分库分表,这5个配置项最容易踩坑

SpringBoot整合Sharding-JDBC分库分表:五大高频配置陷阱与实战解决方案 当数据库单表数据量突破千万级大关时,分库分表几乎是每个Java开发者必须面对的课题。作为Apache ShardingSphere的核心模块,Sharding-JDBC以其轻量级、低侵入的特性成为…...

FGA自动化助手:告别FGO重复刷本,每天节省3小时游戏时间

FGA自动化助手:告别FGO重复刷本,每天节省3小时游戏时间 【免费下载链接】FGA Auto-battle app for F/GO Android 项目地址: https://gitcode.com/gh_mirrors/fg/FGA 你是否厌倦了在《命运/冠位指定》(FGO)中重复点击刷素材…...

Hotkey Detective:Windows热键冲突终极解决方案与实战指南

Hotkey Detective:Windows热键冲突终极解决方案与实战指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是…...

企业级AI低代码平台kweaver-dip:架构解析与工作流实战

1. 项目概述:一个面向企业级AI应用开发的低代码平台 最近在和一些做企业数字化转型的朋友聊天,大家普遍提到一个痛点:AI能力很强,但想把它真正用起来,门槛实在太高了。不是每个团队都有能力养一支算法工程师队伍&#…...

从蛋白质分类到社交网络:Graph Pooling在实际项目里到底怎么用?

从蛋白质分类到社交网络:Graph Pooling实战选型指南 在生物信息实验室里,研究员小李正盯着屏幕上错综复杂的蛋白质相互作用网络发愁——如何将这个包含数千个原子的三维结构转化为机器学习模型可处理的表征?与此同时,某社交平台算…...

基于WebAssembly的高效SQLite数据库在线解析方案

基于WebAssembly的高效SQLite数据库在线解析方案 【免费下载链接】sqlite-viewer View SQLite file online 项目地址: https://gitcode.com/gh_mirrors/sq/sqlite-viewer SQLite Viewer是一款采用纯前端技术的SQLite数据库在线查看工具,通过WebAssembly技术实…...

GOCI数据爬虫失效了?别慌!手把手教你用Python搞定新版韩国官网批量下载(附完整代码)

GOCI数据爬虫失效了?别慌!手把手教你用Python搞定新版韩国官网批量下载 最近不少同行反馈,之前运行的GOCI数据爬虫脚本突然失效了。作为长期处理海洋遥感数据的老手,我第一时间测试了韩国官网的新版页面结构,发现他们确…...

【冷链配送】遗传算法求解低碳冷链物流车辆路径问题(目标函数固定成本 运输成本 制冷成本 惩罚成本 总碳排放成本)【含Matlab源码 15428期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab领域博客之家💞&…...

智算解构像素 实景生长孪生:摒弃人工建模冗余流程,开辟视频孪生快速规模化落地路径

智算解构像素 实景生长孪生副标题:摒弃人工建模冗余流程,开辟视频孪生快速规模化落地路径前言传统数字孪生落地始终深陷人工建模周期长、成本高、流程冗余、更新滞后的固化瓶颈。依赖外业测绘、人工描模、素材拼接、后期修模,环节繁琐、交付周…...

环境配置与基础教程:保姆级教程:VS Code DevContainer 一键构建可复现的 YOLO 训练开发容器

摘要 你是否还在为YOLO训练环境的搭建而焦头烂额?CUDA版本不匹配、Python依赖冲突、团队协作时“在我机器上能跑”的经典难题——这些问题浪费了无数开发者的宝贵时间。本文将带你通过VS Code DevContainer技术,一键构建完全可复现的YOLO训练开发容器,彻底告别环境配置噩梦…...

LaTeX2Word-Equation:三步实现网页公式到Word的精准转换

LaTeX2Word-Equation:三步实现网页公式到Word的精准转换 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 在学术写作和文档编辑过程中…...

2026英文论文降AI实战SOP:保留原格式,4招把AIGC率从97%压到8%

大家最近都在为英文降aigc率发愁吧,作为研三党,我太懂这种痛了,之前我自己写英文初稿,写完直接拿去查重,结果turnitin检测ai率飙到了89%,当时看着报告整个人都懵了。 怎么给英文降ai?对于非母语…...

Pandas数据合并:concat vs append,选哪个?用真实‘幸福指数’数据集测给你看

Pandas数据合并实战:concat与append深度性能对比 在数据分析工作中,数据合并是最基础也最频繁的操作之一。Pandas提供了多种合并数据的方法,其中concat和append是最常用的两种纵向合并方式。但很多开发者并不清楚它们在实际项目中的性能差异和…...

一本通题解——从递推公式到状态转移:破解“位数问题”中的数字计数

1. 从具体问题到通用模型:理解数字计数的本质 遇到"统计N位数中偶数个3的个数"这类问题时,很多初学者会陷入暴力枚举的思维陷阱。我刚开始刷题时也犯过这个错误——试图手动列出所有两位数来验证样例。这种方法的局限性在N1000时就会暴露无遗…...

终极指南:5分钟让Figma界面全面中文化,设计师效率翻倍!

终极指南:5分钟让Figma界面全面中文化,设计师效率翻倍! 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗?每…...

基础设施即代码最佳实践:自动化云原生基础设施管理

基础设施即代码最佳实践:自动化云原生基础设施管理 一、基础设施即代码概述 1.1 基础设施即代码的定义 基础设施即代码(Infrastructure as Code, IaC)是一种将基础设施配置和管理通过代码来实现的方法。它允许开发者使用版本控制、自动化测试…...

重新定义下载体验:ctfileGet城通网盘高速下载完整指南

重新定义下载体验:ctfileGet城通网盘高速下载完整指南 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否曾经面对城通网盘几十KB/s的下载速度感到绝望?当急需一个大文件时&a…...