【发布时间】:2012-08-01 17:30:25
【问题描述】:
yield return 概念的正式名称到底是什么?
public IEnumerable<T> Bar() {
...
yield return foo;
...
}
我听说(读到)它被称为:
- 迭代器
- IEnumerabe
- 发电机
迭代器不就是迭代某事物的“事物”吗? List<T> 是 IEnumerable<T>,所以看起来也不合理。
这里有很多关于 yield return 的答案使用这两个术语之一。
“发电机”呢?还是仅当您“凭空想出价值”时才适用,例如不需要数据收集作为来源的斐波那契数列?
【问题讨论】:
-
肯定是生成器,虽然这是一个 Python 术语。
-
我想说这个术语本身早于它在 Python 中的使用:)
标签: c# ienumerable terminology yield