【从零开始入门unity游戏开发之——C#篇10】循环结构——while、do-while、for、foreach的使用

文章目录

一、while 循环

while 循环是最基础的循环类型之一。它会在每次循环前检查条件,如果条件为 true,就会执行循环体的代码。适用于循环次数未知,但你需要根据某个条件来控制是否继续循环的场景。

1、语法:

csharp 复制代码
while (condition)
{
    // 循环体
}
  • condition:一个布尔表达式,决定循环是否继续。
  • 如果 conditiontrue,执行循环体;如果为 false,退出循环。

2、示例:

csharp 复制代码
int i = 1;
while (i <= 5)
{
    Console.WriteLine(i);
    i++;
}

输出:

1
2
3
4
5

二、 do-while 循环

do-while 循环与 while 循环非常相似,不同之处在于 do-while 循环会至少执行一次循环体,因为条件检查是在循环体执行之后进行的。

1、语法:

csharp 复制代码
do
{
    // 循环体
} while (condition);
  • 循环体首先会执行一次,然后再检查条件 condition 是否为 true,如果为 true,则继续执行循环;如果为 false,则退出循环。

2、示例:

csharp 复制代码
int i = 1;
do
{
    Console.WriteLine(i);
    i++;
} while (i <= 5);

输出:

1
2
3
4
5

即使在循环开始前 i 的初始值是 1,do-while 也会先执行一次,之后才会判断条件。


三、for 循环

for 循环通常用于知道循环次数的场景。它将初始化、条件判断、增量操作(或减量操作)集中在一行代码中,结构比较简洁。

1、语法:

csharp 复制代码
for (initialization; condition; increment/decrement)
{
    // 循环体
}
  • initialization:初始化部分,通常用于定义和初始化循环变量。
  • condition :判断条件,每次循环前都会检查,如果为 true,则继续执行循环。
  • increment/decrement:增量或减量操作,通常用于更新循环变量。

2、示例:

csharp 复制代码
for (int i = 1; i <= 5; i++)
{
    Console.WriteLine(i);
}

输出:

1
2
3
4
5

四、foreach 循环

foreach 循环用于遍历集合、数组或其他可以枚举的对象。它是遍历集合数据时非常方便且易于使用的循环结构,适用于遍历数据时不需要改变集合中的元素。

ps:当然,目前我们还没有讲集合、数组、枚举的知识,看不懂也没关系,了解一下就行了,后面会再细讲

1、语法:

csharp 复制代码
foreach (var item in collection)
{
    // 循环体
}
  • item:表示集合中的当前元素。
  • collection:是一个集合或数组。

2、示例:

csharp 复制代码
int[] numbers = { 1, 2, 3, 4, 5 };

foreach (int number in numbers)
{
    Console.WriteLine(number);
}

输出:

1
2
3
4
5

foreach 循环不需要手动处理索引,自动遍历集合中的每个元素,非常适合用于读取数据而不修改数据的情况。


五、总结对比

循环类型 使用场景 特点 示例
while 循环次数未知,且根据条件决定是否继续循环 先判断条件,满足条件后执行循环体 while (i <= 5) { ... }
do-while 至少需要执行一次循环体,条件判断放在后面 不管条件是否为 true,至少执行一次循环体 do { ... } while (i <= 5)
for 知道循环次数,控制循环变量的增减逻辑清晰 循环变量初始化、条件判断、增减操作都集中在一行 for (int i = 0; i < 10; i++) { ... }
foreach 遍历集合或数组,简化了遍历逻辑 自动遍历集合中的每个元素,不能修改集合中的元素 foreach (var item in collection) { ... }

六、注意事项

  • whiledo-while 的区别while 循环在执行前先检查条件,而 do-while 循环在执行后检查条件,后者保证循环体至少执行一次。
  • for 的灵活性for 循环在控制循环的初始化、条件判断和增量操作方面非常灵活,适用于处理已知循环次数的场景。
  • foreach 适用场景foreach 是遍历集合和数组的最佳选择,语法简洁,避免了手动控制索引,适用于只读取元素的情况。

七、使用场景

  • while:当你不确定循环次数,而是需要依赖某个条件(比如输入或状态)来决定何时退出循环。
  • do-while:当你至少需要执行一次循环体,不管条件如何时使用。
  • for :当你知道循环次数,或者需要控制循环的增量、初始化和结束条件时,使用 for 循环非常合适。
  • foreach :当你要遍历一个集合或数组,而不关心索引时,使用 foreach 是最简便和安全的选择。

八、性能考虑

  • foreach 在遍历数组或集合时,通常比传统的 for 循环稍慢,但这种性能差异对小规模数据集来说并不明显。对于大规模数据集合,for 循环可能会有略微的性能优势,特别是在需要通过索引访问元素时。

专栏推荐

地址
【从零开始入门unity游戏开发之------C#篇】
【从零开始入门unity游戏开发之------unity篇】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架开发】

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

相关推荐
qq_2518364572 分钟前
基于asp.net游乐园管理系统设计与实现
开发语言·前端·数据库·后端·asp.net
黑色叉腰丶大魔王6 分钟前
《Python 解释器和 PyCharm 详解》
开发语言·python·pycharm
Aaron - Wistron12 分钟前
社区版 IDEA 开发webapp 配置tomcat
java·ide·intellij-idea
朱小勇本勇20 分钟前
Qt同步读取串口
开发语言·qt
庸不易44 分钟前
Spring Data
java·后端·spring
背儿头1 小时前
教育版idea及jetbrains全家桶免费使用
java·ide·intellij-idea
ZhangChuChu_92481 小时前
VS2022(Visual Studio)中显示行数(c#)
ide·c#·visual studio
木子欢儿1 小时前
Windows Server 2019 配置PHP环境(图文教程)
开发语言·windows·adb·php
꧁༺朝花夕逝༻꧂1 小时前
tomcat的安装以及配置(基于linuxOS)
java·服务器·tomcat
小小小栋1 小时前
VSCode配置C语言开发环境
c语言·ide·vscode·msys2