LagExtensionLagTSource, TResult(IEnumerableTSource, Int32, TSource, FuncTSource, TSource, TResult) Method

Produces a projection of a sequence by evaluating pairs of elements separated by a negative offset.

Definition

Namespace: MoreLinq.Extensions
Assembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
C#
public static IEnumerable<TResult> Lag<TSource, TResult>(
	this IEnumerable<TSource> source,
	int offset,
	TSource defaultLagValue,
	Func<TSource, TSource, TResult> resultSelector
)

Parameters

source  IEnumerableTSource
The sequence over which to evaluate lag.
offset  Int32
The offset (expressed as a positive number) by which to lag each value of the sequence.
defaultLagValue  TSource
A default value supplied for the lagged value prior to the lag offset.
resultSelector  FuncTSource, 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

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