循环
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迭代到某个位置时才计算那个值,内存友好。