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.
Namespace: MoreLinqAssembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
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>
- 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.
IEnumerableObject
A sequence that contains the elements of
source
and all nested sequences for which the predicate function
returned
true.
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).