ScanByExtension.ScanBy<TSource, TKey, TState>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey, TState>, Func<TState, TKey, TSource, TState>) Method
Applies an accumulator function over sequence element keys,
returning the keys along with intermediate accumulator states.
Namespace: MoreLinq.ExtensionsAssembly: MoreLinq (in MoreLinq.dll) Version: 4.0.0+092a40d82a1b280568ffa006d9a210bdec0792cd
public static IEnumerable<KeyValuePair<TKey, TState>> ScanBy<TSource, TKey, TState>(
this IEnumerable<TSource> source,
Func<TSource, TKey> keySelector,
Func<TKey, TState> seedSelector,
Func<TState, TKey, TSource, TState> accumulator
)
<ExtensionAttribute>
Public Shared Function ScanBy(Of TSource, TKey, TState) (
source As IEnumerable(Of TSource),
keySelector As Func(Of TSource, TKey),
seedSelector As Func(Of TKey, TState),
accumulator As Func(Of TState, TKey, TSource, TState)
) As IEnumerable(Of KeyValuePair(Of TKey, TState))
public:
[ExtensionAttribute]
generic<typename TSource, typename TKey, typename TState>
static IEnumerable<KeyValuePair<TKey, TState>>^ ScanBy(
IEnumerable<TSource>^ source,
Func<TSource, TKey>^ keySelector,
Func<TKey, TState>^ seedSelector,
Func<TState, TKey, TSource, TState>^ accumulator
)
[<ExtensionAttribute>]
static member ScanBy :
source : IEnumerable<'TSource> *
keySelector : Func<'TSource, 'TKey> *
seedSelector : Func<'TKey, 'TState> *
accumulator : Func<'TState, 'TKey, 'TSource, 'TState> -> IEnumerable<KeyValuePair<'TKey, 'TState>>
- source IEnumerable<TSource>
- The source sequence.
- keySelector Func<TSource, TKey>
-
A function that returns the key given an element.
- seedSelector Func<TKey, TState>
-
A function to determine the initial value for the accumulator that is
invoked once per key encountered.
- accumulator Func<TState, TKey, TSource, TState>
-
An accumulator function invoked for each element.
- TSource
- Type of the elements of the source sequence.
- TKey
- The type of the key.
- TState
- Type of the state.
IEnumerable<KeyValuePair<TKey,
TState>>
A sequence of keys paired with intermediate accumulator states.
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).