【从零开始入门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

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

相关推荐
数据小爬虫@2 小时前
深入解析:使用 Python 爬虫获取苏宁商品详情
开发语言·爬虫·python
健胃消食片片片片2 小时前
Python爬虫技术:高效数据收集与深度挖掘
开发语言·爬虫·python
王老师青少年编程3 小时前
gesp(C++五级)(14)洛谷:B4071:[GESP202412 五级] 武器强化
开发语言·c++·算法·gesp·csp·信奥赛
空の鱼3 小时前
java开发,IDEA转战VSCODE配置(mac)
java·vscode
一只小bit4 小时前
C++之初识模版
开发语言·c++
P7进阶路4 小时前
Tomcat异常日志中文乱码怎么解决
java·tomcat·firefox
王磊鑫4 小时前
C语言小项目——通讯录
c语言·开发语言
钢铁男儿4 小时前
C# 委托和事件(事件)
开发语言·c#
Ai 编码助手5 小时前
在 Go 语言中如何高效地处理集合
开发语言·后端·golang
小丁爱养花5 小时前
Spring MVC:HTTP 请求的参数传递2.0
java·后端·spring