عنوان:

‫System.Linq.Async در NET 10.


نویسنده: وحید نصیری
تاریخ: ۱۴۰۳/۱۲/۲۱ ۰۸:۵۵
آدرس: www.dntips.ir
NET 10. ویژگی جدید System.Linq.Async را معرفی می‌کند که متدهای توسعه‌ای LINQ-مانندی را برای IAsyncEnumerable، مشابه آنچه برای IEnumerable موجود است، فراهم می‌کند. این قابلیت، شکاف عملکردی بین شمارش‌پذیرهای (enumerable) همزمان و ناهمزمان را پر می‌کند.

مثال‌های کاربردی: اکنون می‌توان از IAsyncEnumerable با متدهایی مانند Where، Select، ToListAsync و AverageAsync استفاده کرد.
  • مثال: items.Where(x => x.IsEnabled).ToListAsync(token);

منشأ و انتقال:
  • این API از بسته NuGet System.Linq.Async در dotnet/reactive سرچشمه می‌گیرد.
  • در NET 10.، این قابلیت در فریم‌ورک ادغام شده و بسته‌ی NuGet قبلی را منسوخ می‌کند.
  • اکنون اگر وابستگی گذرایی را به بسته‌ی Nuget آن دارید، می‌توانید آن را حذف کنید.

توضیح :IAsyncEnumerable<T> برای شمارش ناهمزمان طراحی شده‌است؛ جایی که تولید هر عنصر ممکن است شامل یک عملیات ناهمزمان باشد. این قابلیت، محدودیت‌های Task<IEnumerable<T>> (انتظار برای همه عناصر به طور همزمان) و IEnumerable<Task<T>> (مدیریت دستی وظایف) را برطرف می‌کند. همچنین پردازش جریان (stream) ناهمزمان را ساده کرده و متدهای داخلی را برای مدیریت ماهیت ناهمزمان جریان فراهم می‌کند.


مشاهده مطلب اصلی