c# - 异步等待无限回归

标签 c#

您只能等待异步方法。然而,该异步方法本身需要有一个await 语句。 这不会导致无限回归吗?

最佳答案

没有,有几个原因

  • async方法不需要有 await ,只是推荐
  • await表达式可以定位类似 Task<T> 的项目
  • async可以从非异步方法调用方法

这是一个已终止的简单示例

async Task<int> Add(Task<int> task, int value) { 
  var t = await task;
  return t + value;
}

Task<int> t;
Task<int> t2 = Add(t, 42);

关于c# - 异步等待无限回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20964333/

相关文章:

c# - 我如何在基于 Android-Java 的应用程序中使用 DataTable。

c# - DataGrid Width 在 Windows Mobile 中没有影响。 C#

c# - 间隔调度算法 : Earliest Finish Time

c# - 需要在 C# 中使用字符串从数据库中查找 ID 号

c# - 使用按钮从 GridView 和数据库中删除记录

c# - 32 位操作系统上的 IntPtr 和 64 位操作系统上的 UInt64

c# - Wix 自定义操作 - 从 XML 文件读取参数

c# - 如何在没有返回值的情况下从 Linq 语句调用函数?

c# - ReactiveUI ViewModel 内存泄漏

c# - 按动态属性过滤