ExperimentalEnumerable Class

Provides a set of static methods for querying objects that implement IEnumerable<T>.

THE METHODS ARE EXPERIMENTAL. THEY MAY BE UNSTABLE AND UNTESTED. THEY MAY BE REMOVED FROM A FUTURE MAJOR OR MINOR RELEASE AND POSSIBLY WITHOUT NOTICE. USE THEM AT YOUR OWN RISK. THE METHODS ARE PUBLISHED FOR FIELD EXPERIMENTATION TO SOLICIT FEEDBACK ON THEIR UTILITY AND DESIGN/IMPLEMENTATION DEFECTS.

Definition

Namespace: MoreLinq.Experimental
Assembly: MoreLinq (in MoreLinq.dll) Version: 4.1.0+0e154ef592f33ce0f6f3d534a9eedee273f0ce72
C#
public static class ExperimentalEnumerable
Inheritance
Object    ExperimentalEnumerable

Methods

Aggregate<T, TResult1, TResult2, TResult>(IEnumerable<T>, Func<IObservable<T>, IObservable<TResult1>>, Func<IObservable<T>, IObservable<TResult2>>, Func<TResult1, TResult2, TResult>) Applies two accumulator queries sequentially in a single pass over a sequence.
Aggregate<T, TResult1, TResult2, TResult3, TResult>(IEnumerable<T>, Func<IObservable<T>, IObservable<TResult1>>, Func<IObservable<T>, IObservable<TResult2>>, Func<IObservable<T>, IObservable<TResult3>>, Func<TResult1, TResult2, TResult3, TResult>) Applies three accumulator queries sequentially in a single pass over a sequence.
Aggregate<T, TResult1, TResult2, TResult3, TResult4, TResult>(IEnumerable<T>, Func<IObservable<T>, IObservable<TResult1>>, Func<IObservable<T>, IObservable<TResult2>>, Func<IObservable<T>, IObservable<TResult3>>, Func<IObservable<T>, IObservable<TResult4>>, Func<TResult1, TResult2, TResult3, TResult4, TResult>) Applies four accumulator queries sequentially in a single pass over a sequence.
Aggregate<T, TResult1, TResult2, TResult3, TResult4, TResult5, TResult>(IEnumerable<T>, Func<IObservable<T>, IObservable<TResult1>>, Func<IObservable<T>, IObservable<TResult2>>, Func<IObservable<T>, IObservable<TResult3>>, Func<IObservable<T>, IObservable<TResult4>>, Func<IObservable<T>, IObservable<TResult5>>, Func<TResult1, TResult2, TResult3, TResult4, TResult5, TResult>) Applies five accumulator queries sequentially in a single pass over a sequence.
Aggregate<T, TResult1, TResult2, TResult3, TResult4, TResult5, TResult6, TResult>(IEnumerable<T>, Func<IObservable<T>, IObservable<TResult1>>, Func<IObservable<T>, IObservable<TResult2>>, Func<IObservable<T>, IObservable<TResult3>>, Func<IObservable<T>, IObservable<TResult4>>, Func<IObservable<T>, IObservable<TResult5>>, Func<IObservable<T>, IObservable<TResult6>>, Func<TResult1, TResult2, TResult3, TResult4, TResult5, TResult6, TResult>) Applies six accumulator queries sequentially in a single pass over a sequence.
Aggregate<T, TResult1, TResult2, TResult3, TResult4, TResult5, TResult6, TResult7, TResult>(IEnumerable<T>, Func<IObservable<T>, IObservable<TResult1>>, Func<IObservable<T>, IObservable<TResult2>>, Func<IObservable<T>, IObservable<TResult3>>, Func<IObservable<T>, IObservable<TResult4>>, Func<IObservable<T>, IObservable<TResult5>>, Func<IObservable<T>, IObservable<TResult6>>, Func<IObservable<T>, IObservable<TResult7>>, Func<TResult1, TResult2, TResult3, TResult4, TResult5, TResult6, TResult7, TResult>) Applies seven accumulator queries sequentially in a single pass over a sequence.
Aggregate<T, TResult1, TResult2, TResult3, TResult4, TResult5, TResult6, TResult7, TResult8, TResult>(IEnumerable<T>, Func<IObservable<T>, IObservable<TResult1>>, Func<IObservable<T>, IObservable<TResult2>>, Func<IObservable<T>, IObservable<TResult3>>, Func<IObservable<T>, IObservable<TResult4>>, Func<IObservable<T>, IObservable<TResult5>>, Func<IObservable<T>, IObservable<TResult6>>, Func<IObservable<T>, IObservable<TResult7>>, Func<IObservable<T>, IObservable<TResult8>>, Func<TResult1, TResult2, TResult3, TResult4, TResult5, TResult6, TResult7, TResult8, TResult>) Applies eight accumulator queries sequentially in a single pass over a sequence.
AsOrdered<T> Returns a query whose results evaluate asynchronously but which are returned in the order of the source.
AsSequential<T> Converts a query whose results evaluate asynchronously to use sequential instead of concurrent evaluation.
AsUnordered<T> Returns a query whose results evaluate asynchronously but which are returned without guarantee of the source order.
Await<T>(IEnumerable<Task<T>>) Creates a sequence query that streams the result of each task in the source sequence as it completes asynchronously.
Await<T, TResult>(IEnumerable<T>, Func<T, CancellationToken, Task<TResult>>) Creates a sequence query that streams the result of each task in the source sequence as it completes asynchronously. A CancellationToken is passed for each asynchronous evaluation to abort any asynchronous operations in flight if the sequence is not fully iterated.
AwaitCompletion<T, TTaskResult, TResult> Awaits completion of all asynchronous evaluations irrespective of whether they succeed or fail. An additional argument specifies a function that projects the final result given the source item and completed task.
Batch<TSource, TResult>(IEnumerable<TSource>, Int32, ArrayPool<TSource>, Func<ICurrentBuffer<TSource>, TResult>) Batches the source sequence into sized buckets using an array pool to rent arrays to back each bucket and returns a sequence of elements projected from each bucket.
Batch<TSource, TBucket, TResult>(IEnumerable<TSource>, Int32, ArrayPool<TSource>, Func<ICurrentBuffer<TSource>, IEnumerable<TBucket>>, Func<IEnumerable<TBucket>, TResult>) Batches the source sequence into sized buckets using an array pool to rent arrays to back each bucket and returns a sequence of elements projected from each bucket.
MaxConcurrency<T> Returns a query whose results evaluate asynchronously to use a concurrency limit.
Memoize<T> Creates a sequence that lazily caches the source as it is iterated for the first time, reusing the cache thereafter for future re-iterations. If the source is already cached or buffered then it is returned verbatim.
PreserveOrder<T> Returns a query whose results evaluate asynchronously and a Boolean argument indicating whether the source order of the results is preserved.
Scheduler<T> Returns a query whose results evaluate asynchronously and uses the given scheduler for the workhorse task.
TrySingle<T, TCardinality>(IEnumerable<T>, TCardinality, TCardinality, TCardinality) Returns a tuple with the cardinality of the sequence and the single element in the sequence if it contains exactly one element. similar to Single<TSource>(IEnumerable<TSource>).
TrySingle<T, TCardinality, TResult>(IEnumerable<T>, TCardinality, TCardinality, TCardinality, Func<TCardinality, T, TResult>) Returns a result projected from the the cardinality of the sequence and the single element in the sequence if it contains exactly one element.
UnboundedConcurrency<T> Returns a query whose results evaluate asynchronously and concurrently with no defined limitation on concurrency.

See Also