This document tracks operators from MoreLINQ that are not implemented in MoreAsyncLINQ.
Operators that are still experimental in MoreLINQ
Concurrently merges all the elements of multiple asynchronous streams into a single asynchronous stream.
Returns the only element of a sequence that has just one element. If the sequence has zero or multiple elements, then returns a user-defined value that indicates the cardinality of the result sequence.
Creates a sequence query that streams the result of each task in the source sequence as it completes asynchronously.
These operators don't benefit from having an async version because you can either:
- Call the synchronous version and then
ToAsyncEnumerable()(e.g.MoreEnumerable.Sequence(1,2,3).ToAsyncEnumerable()) - Materialize the
IAsyncEnumerableand then call the synchronous version (e.g.(await asyncSource.ToListAsync()).Permutations())
Returns a single-element sequence containing the item provided.
Generates a sequence of numbers within the (inclusive) specified range.
Returns a sequence of random numbers within a specified range.
Returns a sequence of all permutations of the input sequence.
Returns a sequence representing all subsets of any size that are part of the original sequence.
Appends elements in the sequence as rows of a given DataTable.
These operators rely on types or interfaces that have no async counterpart.
Flattens a sequence containing arbitrarily-nested sequences. This operator works with the non-generic IEnumerable interface to handle heterogeneous nesting (e.g., object[] containing other object[]). Since there's no IAsyncEnumerable equivalent of the non-generic IEnumerable, this operator cannot be implemented for async sequences.
These operators are provided by System.Linq.AsyncEnumerable in .NET 10+.
Shuffles the order of the elements of a sequence.
Creates a HashSet from an async-enumerable sequence.