Click or drag to resize

ScanRightExtension.ScanRight<TSource, TAccumulate> Method (IEnumerable<TSource>, TAccumulate, Func<TSource, TAccumulate, TAccumulate>)

Namespace:  MoreLinq.Extensions
Assembly:  MoreLinq (in MoreLinq.dll) Version: 3.3.1+b77df70598ab84c28cd43dcf74594024b6d575e1
Syntax
public static IEnumerable<TAccumulate> ScanRight<TSource, TAccumulate>(
	this IEnumerable<TSource> source,
	TAccumulate seed,
	Func<TSource, TAccumulate, TAccumulate> func
)

Parameters

source
Type: System.Collections.Generic.IEnumerable<TSource>
Source sequence.
seed
Type: TAccumulate
The initial accumulator value.
func
Type: System.Func<TSource, TAccumulate, TAccumulate>
A right-associative accumulator function to be invoked on each element.

Type Parameters

TSource
The type of the elements of source.
TAccumulate
The type of the accumulator value.

Return Value

Type: IEnumerable<TAccumulate>
The scanned 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).
Remarks
This operator uses deferred execution and streams its results. Source sequence is consumed greedily when an iteration of the resulting sequence begins.
Examples
var result = Enumerable.Range(1, 4).ScanRight("5", (a, b) => string.Format("({0}/{1})", a, b));
The result variable will contain [ "(1+(2+(3+(4+5))))", "(2+(3+(4+5)))", "(3+(4+5))", "(4+5)", "5" ].
See Also