C# 循环(Loops)结构
                           
天天向上
发布: 2025-04-13 13:11:23

原创
496 人浏览过

本章节重点关于讲解 C# 循环(Loops)结构,涵盖:

  • 各类循环语法与使用场景
  • 示例代码与注意事项
  • 官方文档参考链接
  • 多种实现方式(如 for, while, foreach, do...while
  • 易错点与最佳实践

📚 官方权威链接(信息均来自 Microsoft 官方文档):
🔗 C# Iteration Statements (loops) – Microsoft Docs


一、C# 支持的循环结构

循环类型语法关键字典型使用场景
forfor已知循环次数,索引迭代
whilewhile不确定循环次数,条件先判断
do-whiledo...while不确定循环次数,但至少执行一次
foreachforeach用于遍历数组、集合、列表等可枚举对象

二、各类型循环详解

1️⃣ for 循环

用于已知迭代次数的循环,语法简洁,适合数组索引访问。

for (int i = 0; i < 5; i++) {
    Console.WriteLine($"第 {i} 次循环");
}

📌 结构:初始化;条件判断;每轮循环后的表达式。


2️⃣ while 循环

先判断条件,再决定是否执行。适用于用户输入、数据流等不确定条件。

int i = 0;
while (i < 5) {
    Console.WriteLine(i);
    i++;
}

📌 注意:循环体内必须改变条件变量,避免死循环。


3️⃣ do...while 循环

while 类似,但先执行一次循环体,再判断条件。

int i = 0;
do {
    Console.WriteLine(i);
    i++;
} while (i < 5);

📌 适用场景:至少需要执行一次的逻辑,如“输入验证”。


4️⃣ foreach 循环

用于遍历集合、数组、列表,语法安全,避免越界。

string[] names = { "Alice", "Bob", "Charlie" };
foreach (string name in names) {
    Console.WriteLine(name);
}

📌 不支持索引访问或修改元素内容(只读遍历)。


三、循环控制语句

关键字功能说明示例
break跳出当前循环if (x > 5) break;
continue跳过当前循环中的剩余语句,进入下一轮if (x % 2 == 0) continue;
return终止方法执行,直接返回return;

四、嵌套循环

循环中可嵌套其他循环,如输出九九乘法表:

for (int i = 1; i <= 9; i++) {
    for (int j = 1; j <= i; j++) {
        Console.Write($"{j}×{i}={i * j}\t");
    }
    Console.WriteLine();
}

五、foreach vs for

对比点forforeach
是否可修改元素✅ 是❌ 不可
是否有索引✅ 有❌ 无
安全性易出错(如越界)更安全
使用场景精确控制循环(如跳跃访问)简洁遍历集合

六、常见误区 & 最佳实践

⚠️ 常见错误✅ 建议写法或说明
死循环确保循环中条件变量被正确更新
foreach 中修改集合元素不允许,需使用 for 替代
未加 {} 导致逻辑错误永远使用 {} 包裹循环体,哪怕只有一行
滥用嵌套循环效率低下尽量简化嵌套层级,必要时考虑使用 yield return
不规范命名或注释混乱养成注释和清晰命名的习惯,提升代码可读性

七、高级技巧与拓展用法

🔹 Enumerable.Range + foreach

foreach (var i in Enumerable.Range(0, 5)) {
    Console.WriteLine(i);
}

🔹 Parallel.For 并行循环(需引入 System.Threading.Tasks

Parallel.For(0, 10, i => {
    Console.WriteLine($"线程 {Thread.CurrentThread.ManagedThreadId}:{i}");
});

八、推荐阅读与参考资料


更多详细内容,请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *