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中文網其他相關文章!