gpt4 book ai didi

c# - "yield return"概念的名称是什么? IEnumerable、迭代器、生成器?

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:41 25 4
gpt4 key购买 nike

yield return 的正式名称到底是什么?概念?

public IEnumerable<T> Bar() {
...
yield return foo;
...
}

我听说(读)它被称为:
  • 迭代器
  • IEnumerabe
  • 发电机
  • <您的选择>

  • 迭代器不只是一些迭代某物的“东西”吗?一个 List<T>IEnumerable<T> ,所以看起来也不合理。

    SO上有很多关于 yield return的答案使用这两个术语之一。

    “发电机”呢?还是仅当您“凭空想出值(value)”时才适用,例如不需要数据收集作为来源的斐波那契数列?

    最佳答案

    作为非语言特定方式的一般概念,“生成器”可能是最常见的术语。如果我与不熟悉 C# 的人交谈,我会使用它。

    该方法本身是 C# 规范术语中的迭代器。实现是一个迭代器 block 。

    从 C# 4 规范的第 10.14 节:

    A function member (§7.5) implemented using an iterator block (§8.2) is called an iterator.



    这是我在专门谈论 C# 时会使用的术语。

    关于c# - "yield return"概念的名称是什么? IEnumerable、迭代器、生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11799572/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com