MoreEnumerableFlatten(IEnumerable, FuncIEnumerable, Boolean) Method

Flattens a sequence containing arbitrarily-nested sequences. An additional parameter specifies a predicate function used to determine whether a nested IEnumerable should be flattened or not.

Definition

Namespace: MoreLinq
Assembly: MoreLinq (in MoreLinq.dll) Version: 4.1.0+0e154ef592f33ce0f6f3d534a9eedee273f0ce72
C#
public static IEnumerable<Object> Flatten(
	this IEnumerable source,
	Func<IEnumerable, bool> predicate
)

Parameters

source  IEnumerable
The sequence that will be flattened.
predicate  FuncIEnumerable, Boolean
A function that receives each element that implements IEnumerable and indicates if its elements should be recursively flattened into the resulting sequence.

Return Value

IEnumerableObject
A sequence that contains the elements of source and all nested sequences for which the predicate function returned true.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable. 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).

Exceptions

ArgumentNullExceptionsource is null.
ArgumentNullExceptionpredicate is null.

See Also