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
Syntaxpublic static IEnumerable<TAccumulate> ScanRight<TSource, TAccumulate>(
this IEnumerable<TSource> source,
TAccumulate seed,
Func<TSource, TAccumulate, TAccumulate> func
)
<ExtensionAttribute>
Public Shared Function ScanRight(Of TSource, TAccumulate) (
source As IEnumerable(Of TSource),
seed As TAccumulate,
func As Func(Of TSource, TAccumulate, TAccumulate)
) As IEnumerable(Of TAccumulate)
public:
[ExtensionAttribute]
generic<typename TSource, typename TAccumulate>
static IEnumerable<TAccumulate>^ ScanRight(
IEnumerable<TSource>^ source,
TAccumulate seed,
Func<TSource, TAccumulate, TAccumulate>^ func
)
[<ExtensionAttribute>]
static member ScanRight :
source : IEnumerable<'TSource> *
seed : 'TAccumulate *
func : Func<'TSource, 'TAccumulate, 'TAccumulate> -> IEnumerable<'TAccumulate>
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.
Examplesvar 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