C# 循环语句完全攻略
循环作为实现程序迭代逻辑的重要结构,在 C# 编程中有多种实用的循环语句。本文将全面介绍各种 C# 循环语句的语法、作用和代码示例。
1. For 循环
For 循环以初始化表达式、条件表达式、迭代表达式的组合完成复杂循环控制,是最常见的循环结构。
组成 | 描述 |
---|---|
for | 循环关键字 |
(初始化表达式; 条件表达式; 迭代表达式) | 控制循环的三个表达式 |
{ } | 循环体代码块 |
- 示例:
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}
上例中,i 从 0 初始化到 4,条件判断 i 小于 5,每次循环将 i 加 1。
For 循环结构灵活,可以实现复杂的循环控制逻辑。
2. While 循环
While 循环当条件表达式为真时会重复执行循环体语句:
组成 | 描述 |
---|---|
while | 循环关键字 |
(条件表达式) | 循环条件判断,为真才会进入循环 |
{ } | 循环体代码块 |
步骤 | 描述 |
- | - |
1 | 评估条件表达式 |
2 | 如果条件为真,执行循环体代码块 |
3 | 回到步骤1继续评估条件表达式 |
示例:
int i = 0;
while (i < 5)
{
Console.WriteLine(i);
i++;
}
上例中,将i初始化为0,while判断i小于5成立则循环,在循环体内打印i并使i自增1,语句不成立退出While 循环
使用 While 循环时需要注意条件判断,避免出现死循环。
3. Do-While 循环
组成 | 描述 |
---|---|
do | 循环关键字 |
{ } | 循环体代码块 |
while | 条件判断关键字 |
(条件表达式); | 循环条件表达式 |
Do-While循环由于条件判断在循环结束,因此循环体内代码会至少执行一次。
示例:
int i = 0;
do
{
Console.WriteLine(i);
i++;
} while (i < 5);
上例中,i初始化为0,do-while先执行一次循环体,在循环结束判断i是否小于5,如果满足则继续运行do里面的函数。
4. Foreach 循环
Foreach 和 for
区别 | foreach | for |
---|---|---|
语法 | 简单,无需索引 | 复杂,需要索引变量 |
修改集合 | 不可修改 | 可以修改 |
遍历自定义类型 | 直接遍历 | 需要类型转换 |
遍历顺序 | 默认正序 | 可控制顺序 |
性能 | 小数据集更优 | 大数据集更优 |
使用场景 | 简单遍历读取 | 复杂遍历控制 |
相同点 | 两者均可遍历数组、集合 | |
- | - | |
总结 | foreach简单高效 for更灵活控制 |
foreach (元素变量 in 集合)
{
// 循环体语句
}
示例:
csharp
string[] names = {"Bob","Alice","Tom"};
foreach (string name in names)
{
Console.WriteLine(name);
}
上例会输出 names 数组的每个元素。
5. Break 和 Continue
语句 | 使用循环 | 示例 |
---|---|---|
break | for、while、do-while、foreach | break; // 退出当前所在循环 |
continue | for、while、do-while、foreach | continue; // 跳过当前循环余下语句,进入下一轮循环 |
break作用 | 完全退出循环,继续执行循环体后代码 | |
- | - | |
continue作用 | 跳过当前循环的剩余语句,进入下一轮循环 | |
- | - | |
使用技巧 | 根据需要灵活使用break和continue 提高循环逻辑的清晰性和效率 |
Break和Continue语句可用来控制循环的流程:
- Break: 完全退出当前整个循环,继续执行循环体外语句。
- Continue: 跳过当前循环中余下语句,直接进入下一循环周期。
for(int i = 0; i < 10; i++) {
if(i == 5)
break; // 当i==5时退出循环
if(i % 2 == 0)
continue; // 跳过偶数
// 其余语句
}
Break和Continue可用在For、While、Do-While、Foreach循环中。
6.总结
For、While、Do-While和Foreach,以及Break、Continue等流程控制。通过正确使用可实现复杂循环控制,是C#编程重要技巧。