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!
以上がC# 8.0 の非同期ストリームとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。