MoreEnumerableGenerateTResult Method

Returns a sequence of values consecutively generated by a generator function.

Definition

Namespace: MoreLinq
Assembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
C#
public static IEnumerable<TResult> Generate<TResult>(
	TResult initial,
	Func<TResult, TResult> generator
)

Parameters

initial  TResult
Value of first element in sequence
generator  FuncTResult, TResult
Generator function which takes the previous series element and uses it to generate the next element.

Type Parameters

TResult
Type of elements to generate.

Return Value

IEnumerableTResult
A sequence containing the generated values.

Remarks

This function defers element generation until needed and streams the results.

Example

C#
var result = MoreEnumerable.Generate(2, n => n * n).Take(5);
The result variable, when iterated over, will yield 2, 4, 16, 256, and 65536, in turn.

See Also