MoreEnumerableFlatten Method (IEnumerable, FuncIEnumerable, Boolean) |
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.
Namespace:
MoreLinq
Assembly:
MoreLinq (in MoreLinq.dll) Version: 3.0.0
Syntax public static IEnumerable<Object> Flatten(
this IEnumerable source,
Func<IEnumerable, bool> predicate
)
<ExtensionAttribute>
Public Shared Function Flatten (
source As IEnumerable,
predicate As Func(Of IEnumerable, Boolean)
) As IEnumerable(Of Object)
public:
[ExtensionAttribute]
static IEnumerable<Object^>^ Flatten(
IEnumerable^ source,
Func<IEnumerable^, bool>^ predicate
)
[<ExtensionAttribute>]
static member Flatten :
source : IEnumerable *
predicate : Func<IEnumerable, bool> -> IEnumerable<Object>
Parameters
- source
- Type: System.CollectionsIEnumerable
The sequence that will be flattened. - predicate
- Type: SystemFuncIEnumerable, 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
Type:
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 See Also