C# 8.0 introduces async streams, which model a streaming source of data. Data 流通常异步地检索或生成元素。
生成序列的代码现在可以使用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!
以上是C# 8.0 中的异步流是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!