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.2.0+5205ea241d72b079436060d330cd5c2eae7cdcdf
Syntaxpublic static IEnumerable<Object> Flatten(
	this IEnumerable source,
	Func<Object, IEnumerable> selector
)
<ExtensionAttribute>
Public Shared Function Flatten ( 
	source As IEnumerable,
	selector As Func(Of Object, IEnumerable)
) As IEnumerable(Of Object)
public:
[ExtensionAttribute]
static IEnumerable<Object^>^ Flatten(
	IEnumerable^ source, 
	Func<Object^, IEnumerable^>^ selector
)
[<ExtensionAttribute>]
static member Flatten : 
        source : IEnumerable * 
        selector : Func<Object, IEnumerable> -> IEnumerable<Object> 
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
See Also