Working with IAsyncEnumerable in C#


IAsyncEnumerable is a powerful interface introduced in C# 8.0 that allows you to work with sequences of data asynchronously. It is a great fit for building ETLs that asynchronously stream data to get it ready for transfer. You can think of IAsyncEnumerable as the asynchronous counterpart of IEnumerable because both interfaces allow you to easily iterate through elements in a collection.

Since the early days of .NET, the IEnumerable interface has been fundamental for many programs. The IEnumerable interface provided a way to retrieve elements from a collection one at a time, and the IEnumerable<T> interface extended this functionality to