C# 8.0 এসিঙ্ক স্ট্রিমস.introduce করেছে, যা একটি স্ট্রিমিং ডেটা সোর্স মডেল করে। ডেটা স্ট্রিমস প্রায়শই এলিমেন্টগুলো অ্যাসিঙ্ক্রোনাসভাবে রিট্রিভ বা জেনারেট করে।
সিকোয়েন্স জেনারেট করার কোড এখন yield return ব্যবহার করে এলিমেন্টগুলো রিটার্ন করতে পারে এমন একটি মেথডে যা async মডিফায়ার দিয়ে ডিক্লেয়ার করা হয়েছে।
আমরা await foreach লুপ ব্যবহার করে একটি অ্যাসিঙ্ক স্ট্রিম কনসিউম করতে পারি।
নিচের সিনট্যাক্স:
static IEnumerableMessage() { yield return "Hello!"; yield return "Hello!"; } Can be replaced by IAsyncEnumerable static async IAsyncEnumerable 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 MessageAsync()
{
await Task.Delay(2000);
yield return "Hello!";
await Task.Delay(2000);
yield return "Hello!";
}
}
আউটপুট
Hello! Hello!