C# 8.0 中的异步流是什么?
C# 8.0 引入了异步流,该流对数据流源进行建模。数据流通常会异步检索或生成元素。
生成序列的代码现在可以使用 yield return 在使用 async 修饰符声明的方法中返回元素。
我们可以使用 await foreach 循环消耗异步流。
以下语法
static IEnumerable<string> Message(){
yield return "Hello!";
yield return "Hello!";
}
Can be replaced by IAsyncEnumerable
static async IAsyncEnumerable<string> MessageAsync(){
await Task.Delay(2000);
yield return "Hello!";
await Task.Delay(2000);
yield return "Hello!";
}示例
class Program{
public static async Task Main(){
await foreach (var item in MessageAsync()){
System.Console.WriteLine(item);
}
Console.ReadLine();
}
static async IAsyncEnumerable<string> MessageAsync(){
await Task.Delay(2000);
yield return "Hello!";
await Task.Delay(2000);
yield return "Hello!";
}
}输出
Hello! Hello!
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP