# 迭代器

2 篇文章

C# 语言

C# 迭代器(一):IEnumerable 与 IEnumerator

foreach 背后是 IEnumerable 和 IEnumerator 两个接口:一个负责「给出迭代器」,一个负责「一个个往下走」。手写一个能被 foreach 遍历的集合,再把 foreach 自己展开一遍。

2021 年 9 月 16 日 · 1 分钟读完
C# 语言

C# 迭代器(二):yield

yield return 让编译器替你写迭代器:方法在每个 yield 处「暂停」,下次 MoveNext 时从原地继续。用一个手写链表演示执行顺序、yield break,以及 yield 的限制和延迟执行的坑。

2021 年 9 月 16 日 · 2 分钟读完