AsyncEnumerator
1.1.0

Helps to (a) create an element provider, where producing an element can take a lot of timedue to dependency on other asynchronous events (e.g. wait handles, network streams), and(b) a consumer that processes those element as soon as they are ready without blockingthe thread (the processing is scheduled on a worker thread instead).

// Just to compare with synchronous version of enumerationstatic void ConsumeNumbers(){ // NOTE: IAsyncEnumerable is derived from IEnumerable, so you can use either var enumerableCollection = ProduceAsyncNumbers(start: 1, end: 10); //var enumerableCollection = ProduceNumbers(start: 1, end: 10);