Click or drag to resize

MoreEnumerableFlatten Method (IEnumerable, FuncObject, IEnumerable)

Flattens a sequence containing arbitrarily-nested sequences. An additional parameter specifies a function that projects an inner sequence via a property of an object.

Namespace:  MoreLinq
Assembly:  MoreLinq (in MoreLinq.dll) Version: 3.3.1+b77df70598ab84c28cd43dcf74594024b6d575e1
Syntax
public static IEnumerable<Object> Flatten(
	this IEnumerable source,
	Func<Object, IEnumerable> selector
)

Parameters

source
Type: System.CollectionsIEnumerable
The sequence that will be flattened.
selector
Type: SystemFuncObject, IEnumerable
A function that receives each element of the sequence as an object and projects an inner sequence to be flattened. If the function returns null then the object argument is considered a leaf of the flattening process.

Return Value

Type: IEnumerableObject
A sequence that contains the elements of source and all nested sequences projected via the selector function.

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
ExceptionCondition
ArgumentNullExceptionsource is null.
ArgumentNullExceptionselector is null.
See Also