Memoize__2_1 - waf/Rx.NET GitHub Wiki

EnumerableEx.Memoize<TSource, TResult> Method (IEnumerable<TSource>, Int32, Func<IEnumerable<TSource>, IEnumerable<TResult>>)

Memoizes the source sequence within a selector function where a specified number of enumerators can get access to all of the sequence's elements without causing multiple enumerations over the source.

Namespace: System.Linq
Assembly: System.Interactive (in System.Interactive.dll)

Syntax

public static IEnumerable<TResult> Memoize<TSource, TResult>(
	this IEnumerable<TSource> source,
	int readerCount,
	Func<IEnumerable<TSource>, IEnumerable<TResult>> selector
)

Parameters

source

Type: System.Collections.Generic.IEnumerable<TSource>
Source sequence.

readerCount

Type: System.Int32
Number of enumerators that can access the underlying buffer. Once every enumerator has obtained an element from the buffer, the element is removed from the buffer.

selector

Type: System.Func<IEnumerable<TSource>, IEnumerable<TResult>>
Selector function with memoized access to the source sequence for a specified number of enumerators.

Type Parameters

TSource

Source sequence element type.

TResult

Result sequence element type.

Return Value

Type: IEnumerable<TResult>
Sequence resulting from applying the selector function to the memoized view over the source sequence.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

See Also

Reference

EnumerableEx Class
System.Linq Namespace

⚠️ **GitHub.com Fallback** ⚠️