MoreEnumerable.Shuffle<T>(IEnumerable<T>, Random) Method

Returns a sequence of elements in random order from the original sequence. An additional parameter specifies a random generator to be used for the random selection algorithm.

Definition

Namespace: MoreLinq
Assembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
C#
public static IEnumerable<T> Shuffle<T>(
	this IEnumerable<T> source,
	Random rand
)

Parameters

source  IEnumerable<T>
The sequence from which to return random elements.
rand  Random
A random generator used as part of the selection algorithm.

Type Parameters

T
The type of source sequence elements.

Return Value

IEnumerable<T>
A sequence of elements source randomized in their order.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<T>. 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 method uses deferred execution and streams its results. The source sequence is entirely buffered before the results are streamed.

See Also