我一直在尝试了解 CCR(并发和协调运行时),看看它是否值得学习。
我主要在 Vb.net 中编程,并且在大多数使用 CCR 的示例中使用 Yield 关键字。
Yield 对使用 CCR 有多重要?有解决方法吗?VB.net 会得到 Yield 命令吗?(如果不是为什么不呢?)
是的,据我了解,迭代器块(由 yield 语句表示)对 CCR 非常重要。它们使可读的异步工作流成为可能。
你已经看过并行扩展了吗?如果没有,我会在 CCR 之前尝试一下——除此之外,它更有可能是 VB.NET 友好的,并且当它出现时它将在“主要”.NET 4.0 中。
yield 关键字不是必需的,但在使用 CCR 时它使事情变得非常容易。需要在处理程序方法中生成任务,这可以通过简单地使用原语来完成,但几乎没有那么优雅。我从未见过任何用 VB.NET 编写的 CCR 代码,但我想有一些解决方法可以返回一个 IEnumerable 对象(尽管我无法确认这一点,因为我已经很久没有编写任何 VB.NET 了) . 上次我听说,VB.NET 10 很有可能会获得等效的 yield 关键字。