VB.NET vNext的迭代器与C#有何不同之处?

2026-05-06 10:571阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计455个文字,预计阅读时间需要2分钟。

VB.NET vNext的迭代器与C#有何不同之处?

我在Async CTP网站上看到VB.NET的最新版本将包含生成器。我猜测它们可能包含生成器,因为重写的类似乎是为了利用新的async/await功能。但是,阅读相关文档后,我意识到VB.NET的生成器实际上并非如此。

我刚刚在 Async CTP website上看到下一版本的VB.NET将有迭代器.我猜它们包含迭代器,因为重写过程类似于用于新的async / await功能的过程.

但是阅读解释该功能的文档,我意识到VB.NET迭代器实际上具有今天在C#中不可用的功能,即:

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

这些是C#中的已知限制.是否有可能在C#5中删除这些限制?如果没有,是否有任何理由可以在VB.NET中而不是在C#中完成?

Is there any chance that these limitations will be removed in C# 5 ?

机会很小.我当然不会指望它.这些都是“很棒的”功能,而不是“必须拥有”的功能,当你有大量的工作要做时,“很高兴”的功能有时会脱离时间表,就像它们一样好.

If not, is there any reason why it can be done in VB.NET and not in C# ?

有技术原因吗?不,当然有工程原因.

VB.NET vNext的迭代器与C#有何不同之处?

通常情况下,作为第二个实施特定功能的团队是有益的.第二种实现的实现者可以利用从第一次尝试中获得的知识,而不需要承担如此大的研究和开发成本,同时不会产生任何维护或向后兼容性税.

VB的好处是没有这个功能,因此没有数百万行用户代码,他们需要100%向后兼容.这消除了相当大的成本负担.他们拥有一个庞大的错误报告数据库,设计说明等,这些都是在C#中使用这个功能的八年.

标签:局限

本文共计455个文字,预计阅读时间需要2分钟。

VB.NET vNext的迭代器与C#有何不同之处?

我在Async CTP网站上看到VB.NET的最新版本将包含生成器。我猜测它们可能包含生成器,因为重写的类似乎是为了利用新的async/await功能。但是,阅读相关文档后,我意识到VB.NET的生成器实际上并非如此。

我刚刚在 Async CTP website上看到下一版本的VB.NET将有迭代器.我猜它们包含迭代器,因为重写过程类似于用于新的async / await功能的过程.

但是阅读解释该功能的文档,我意识到VB.NET迭代器实际上具有今天在C#中不可用的功能,即:

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

这些是C#中的已知限制.是否有可能在C#5中删除这些限制?如果没有,是否有任何理由可以在VB.NET中而不是在C#中完成?

Is there any chance that these limitations will be removed in C# 5 ?

机会很小.我当然不会指望它.这些都是“很棒的”功能,而不是“必须拥有”的功能,当你有大量的工作要做时,“很高兴”的功能有时会脱离时间表,就像它们一样好.

If not, is there any reason why it can be done in VB.NET and not in C# ?

有技术原因吗?不,当然有工程原因.

VB.NET vNext的迭代器与C#有何不同之处?

通常情况下,作为第二个实施特定功能的团队是有益的.第二种实现的实现者可以利用从第一次尝试中获得的知识,而不需要承担如此大的研究和开发成本,同时不会产生任何维护或向后兼容性税.

VB的好处是没有这个功能,因此没有数百万行用户代码,他们需要100%向后兼容.这消除了相当大的成本负担.他们拥有一个庞大的错误报告数据库,设计说明等,这些都是在C#中使用这个功能的八年.

标签:局限