सी # 8.0 एसिंक स्ट्रीम पेश करता है, जो डेटा के स्ट्रीमिंग स्रोत का मॉडल करता है। डेटास्ट्रीम अक्सर तत्वों को अतुल्यकालिक रूप से पुनर्प्राप्त या उत्पन्न करते हैं।
अनुक्रम उत्पन्न करने वाला कोड अब async संशोधक के साथ घोषित की गई विधि में यील्ड रिटर्न टू रिटर्न एलिमेंट्स का उपयोग कर सकता है।
हम प्रतीक्षित फ़ोरैच लूप का उपयोग करके एक एसिंक स्ट्रीम का उपभोग कर सकते हैं।
यह सिंटैक्स के नीचे है
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!