Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah aliran tak segerak dalam C# 8.0?

Apakah aliran tak segerak dalam C# 8.0?

王林
王林ke hadapan
2023-09-01 12:13:111146semak imbas

C# 8.0 中的异步流是什么?

C# 8.0 memperkenalkan strim tak segerak, yang memodelkan sumber data penstriman Strim biasanya mendapatkan semula atau menjana elemen secara tidak segerak.

Kod yang menjana jujukan kini boleh menggunakan pulangan hasil untuk mengembalikan elemen

Kaedah diisytiharkan menggunakan pengubah suai tak segerak.

Kita boleh menggunakan gelung await foreach untuk menggunakan strim tak segerak.

Berikut ialah sintaks:

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!";
}

Contoh

diterjemahkan sebagai:

Contoh

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!";
   }
}

Output

Hello!
Hello!

Atas ialah kandungan terperinci Apakah aliran tak segerak dalam C# 8.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam