MoreEnumerablePadStartTSource(IEnumerableTSource, Int32, FuncInt32, TSource) Method

Pads a sequence with a dynamic filler value in the beginning if it is narrower (shorter in length) than a given width. An additional parameter specifies the function to calculate padding.

Definition

Namespace: MoreLinq
Assembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
C#
public static IEnumerable<TSource> PadStart<TSource>(
	this IEnumerable<TSource> source,
	int width,
	Func<int, TSource> paddingSelector
)

Parameters

source  IEnumerableTSource
The sequence to pad.
width  Int32
The width/length below which to pad.
paddingSelector  FuncInt32, TSource
Function to calculate padding given the index of the missing element.

Type Parameters

TSource
The type of the elements of source.

Return Value

IEnumerableTSource
Returns a sequence that is at least as wide/long as the width/length specified by the width parameter.

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 uses deferred execution and streams its results.

Example

C#
int[] numbers = { 123, 456, 789 };
var result = numbers.PadStart(6, i => -i);
The result variable will contain { 0, -1, -2, 123, 456, 789 }.

See Also