代码之家  ›  专栏  ›  技术社区  ›  Thomas Levesque

VB.NET vNext中的迭代器和C中迭代器的限制#

  •  4
  • Thomas Levesque  · 技术社区  · 14 年前

    我刚看到 Async CTP website 下一版本的VB.NET将有迭代器。我想它们包含了迭代器,因为重写过程与新的 async / await 特色。

    • try/catch块中的迭代器块
    • 匿名迭代器块

    这些都是C#的已知限制。是否有可能在C#5中取消这些限制?如果没有,有什么理由可以在VB.NET中而不是在C#中完成?

    1 回复  |  直到 14 年前
        1
  •  8
  •   Eric Lippert    14 年前

    是否有可能在C#5中取消这些限制?

    可能性很小。我当然不会指望。这些是“很好拥有”的特性,而不是“必须拥有”的特性,并且当您拥有 巨大的 要做的工作很多,“很好”的功能有时会超出计划,尽管它们很好。

    有什么技术原因吗?不,当然有工程方面的原因。

    VB的好处是没有这个特性,因此没有数百万行用户代码,它们需要100%向后兼容。这是一个相当大的成本负担消除。而且他们有一个庞大的bug报告、设计说明等数据库,从在C#中拥有这个特性的8年开始。