Click or drag to resize
MoreEnumerableLagTSource, TResult Method (IEnumerableTSource, Int32, TSource, FuncTSource, TSource, TResult)
Produces a projection of a sequence by evaluating pairs of elements separated by a negative offset.

Namespace:  MoreLinq
Assembly:  MoreLinq (in MoreLinq.dll) Version: 2.1.0
Syntax
public static IEnumerable<TResult> Lag<TSource, TResult>(
	this IEnumerable<TSource> source,
	int offset,
	TSource defaultLagValue,
	Func<TSource, TSource, TResult> resultSelector
)

Parameters

source
Type: System.Collections.GenericIEnumerableTSource
The sequence over which to evaluate lag
offset
Type: SystemInt32
The offset (expressed as a positive number) by which to lag each value of the sequence
defaultLagValue
Type: TSource
A default value supplied for the lagged value prior to the lag offset
resultSelector
Type: SystemFuncTSource, TSource, TResult
A projection function which accepts the current and lagged items (in that order) and returns a result

Type Parameters

TSource
The type of the elements of the source sequence
TResult
The type of the elements of the result sequence

Return Value

Type: IEnumerableTResult
A sequence produced by projecting each element of the sequence with its lagged pairing

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerableTSource. 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 evaluates in a deferred and streaming manner.
See Also