Z
ZHANK
控制流程

循环

for/while/do-while/foreach、break/continue、迭代器 yield

循环

C# 支持四种循环,foreach 遍历集合最常用。yield return 让自定义迭代变得简单。

学完本章你将: 掌握 for/while/do-while/foreach、yield 迭代器。


for / while / do-while

csharp
// for(知道次数)
for (int i = 0; i < 5; i++)
    Console.Write(i + " ");  // 0 1 2 3 4

// foreach(推荐——无需下标)
var fruits = new[] { "apple", "banana", "cherry" };
foreach (var fruit in fruits)
    Console.WriteLine(fruit);

// while
int n = 0;
while (n < 5) Console.Write(n++ + " ");

// do-while(至少一次)
int input;
do { input = ReadNumber(); }
while (input < 0);

yield return —— 迭代器

csharp
// 自定义可枚举序列
IEnumerable<int> Fibonacci(int count)
{
    int a = 0, b = 1;
    for (int i = 0; i < count; i++)
    {
        yield return a;
        (a, b) = (b, a + b);
    }
}

// 使用——按需生成,不一次性分配
foreach (var n in Fibonacci(10))
    Console.Write(n + " ");  // 0 1 1 2 3 5 8 13 21 34

💡 yield return 的核心优势:延迟执行——只在 foreach 迭代到某个位置时才计算那个值,内存友好。