首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用call/cc实现c# 5.0中的新异步功能?

如何使用call/cc实现c# 5.0中的新异步功能?
EN

Stack Overflow用户
提问于 2010-11-01 23:20:28
回答 3查看 3K关注 0票数 20

我一直在关注关于c# 5.0中新的async特性的新公告。我对延续传递方式和新的c#编译器对Eric Lippert's post中的代码片段所做的转换有了基本的了解

async void ArchiveDocuments(List<Url> urls)
{
  Task archive = null;
  for(int i = 0; i < urls.Count; ++i)
  {
    var document = await FetchAsync(urls[i]);
    if (archive != null)
      await archive;
    archive = ArchiveAsync(document);
  }
}

我知道有些语言通过带有当前值的调用(callcc)实现了本机延续,但我并不真正理解它是如何工作的,或者它到底做了什么。

所以问题来了:如果Anders等人。决定咬紧牙关,只在c# 5.0中实现callcc,而不是async/await的特殊情况,那么上面的代码片段会是什么样子呢?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4070237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档