PipeExtensionPipeT Method
            Executes the given action on each element in the source sequence
            and yields it.
            
Namespace: MoreLinq.ExtensionsAssembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
public static IEnumerable<T> Pipe<T>(
	this IEnumerable<T> source,
	Action<T> action
)
<ExtensionAttribute>
Public Shared Function Pipe(Of T) ( 
	source As IEnumerable(Of T),
	action As Action(Of T)
) As IEnumerable(Of T)
public:
[ExtensionAttribute]
generic<typename T>
static IEnumerable<T>^ Pipe(
	IEnumerable<T>^ source, 
	Action<T>^ action
)
[<ExtensionAttribute>]
static member Pipe : 
        source : IEnumerable<'T> * 
        action : Action<'T> -> IEnumerable<'T> 
- source  IEnumerableT
 - The sequence of elements
 - action  ActionT
 - The action to execute on each element
 
- T
 - The type of the elements in the sequence
 
IEnumerableTA sequence with source elements in their original order.In Visual Basic and C#, you can call this method as an instance method on any object of type 
IEnumerableT. 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).
 
            The returned sequence is essentially a duplicate of
            the original, but with the extra action being executed while the
            sequence is evaluated. The action is always taken before the element
            is yielded, so any changes made by the action will be visible in the
            returned sequence. This operator uses deferred execution and streams it results.