MoreEnumerableFoldT, TResult(IEnumerableT, FuncT, T, T, T, TResult) Method
            Returns the result of applying a function to a sequence of
            4 elements.
            
Namespace: MoreLinqAssembly: MoreLinq (in MoreLinq.dll) Version: 4.0.0+092a40d82a1b280568ffa006d9a210bdec0792cd
public static TResult Fold<T, TResult>(
	this IEnumerable<T> source,
	Func<T, T, T, T, TResult> folder
)
<ExtensionAttribute>
Public Shared Function Fold(Of T, TResult) ( 
	source As IEnumerable(Of T),
	folder As Func(Of T, T, T, T, TResult)
) As TResult
public:
[ExtensionAttribute]
generic<typename T, typename TResult>
static TResult Fold(
	IEnumerable<T>^ source, 
	Func<T, T, T, T, TResult>^ folder
)
[<ExtensionAttribute>]
static member Fold : 
        source : IEnumerable<'T> * 
        folder : Func<'T, 'T, 'T, 'T, 'TResult> -> 'TResult 
- source  IEnumerableT
 - The sequence of items to fold.
 - folder  FuncT, T, T, T, TResult
 - Function to apply to the elements in the sequence.
 
- T
 - Type of element in the source sequence.
 - TResult
 - Type of the result.
 
TResultThe folded value returned by 
folder.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).
 
            This operator uses immediate execution and effectively buffers
            as many items of the source sequence as necessary.