MoreEnumerable.Cartesian<T1, T2, T3, T4, T5, TResult> Method (IEnumerable<T1>, IEnumerable<T2>, IEnumerable<T3>, IEnumerable<T4>, IEnumerable<T5>, Func<T1, T2, T3, T4, T5, TResult>) |
Returns the Cartesian product of five sequences by enumerating all
possible combinations of one item from each sequence, and applying
a user-defined projection to the items in a given combination.
Namespace:
MoreLinq
Assembly:
MoreLinq (in MoreLinq.dll) Version: 3.2.0+5205ea241d72b079436060d330cd5c2eae7cdcdf
Syntaxpublic static IEnumerable<TResult> Cartesian<T1, T2, T3, T4, T5, TResult>(
this IEnumerable<T1> first,
IEnumerable<T2> second,
IEnumerable<T3> third,
IEnumerable<T4> fourth,
IEnumerable<T5> fifth,
Func<T1, T2, T3, T4, T5, TResult> resultSelector
)
<ExtensionAttribute>
Public Shared Function Cartesian(Of T1, T2, T3, T4, T5, TResult) (
first As IEnumerable(Of T1),
second As IEnumerable(Of T2),
third As IEnumerable(Of T3),
fourth As IEnumerable(Of T4),
fifth As IEnumerable(Of T5),
resultSelector As Func(Of T1, T2, T3, T4, T5, TResult)
) As IEnumerable(Of TResult)
public:
[ExtensionAttribute]
generic<typename T1, typename T2, typename T3, typename T4, typename T5, typename TResult>
static IEnumerable<TResult>^ Cartesian(
IEnumerable<T1>^ first,
IEnumerable<T2>^ second,
IEnumerable<T3>^ third,
IEnumerable<T4>^ fourth,
IEnumerable<T5>^ fifth,
Func<T1, T2, T3, T4, T5, TResult>^ resultSelector
)
[<ExtensionAttribute>]
static member Cartesian :
first : IEnumerable<'T1> *
second : IEnumerable<'T2> *
third : IEnumerable<'T3> *
fourth : IEnumerable<'T4> *
fifth : IEnumerable<'T5> *
resultSelector : Func<'T1, 'T2, 'T3, 'T4, 'T5, 'TResult> -> IEnumerable<'TResult>
Parameters
- first
- Type: System.Collections.Generic.IEnumerable<T1>
The first sequence of elements. - second
- Type: System.Collections.Generic.IEnumerable<T2>
The second sequence of elements. - third
- Type: System.Collections.Generic.IEnumerable<T3>
The third sequence of elements. - fourth
- Type: System.Collections.Generic.IEnumerable<T4>
The fourth sequence of elements. - fifth
- Type: System.Collections.Generic.IEnumerable<T5>
The fifth sequence of elements. - resultSelector
- Type: System.Func<T1, T2, T3, T4, T5, TResult>
A projection function that combines
elements from all of the sequences.
Type Parameters
- T1
-
The type of the elements of first.
- T2
-
The type of the elements of second.
- T3
-
The type of the elements of third.
- T4
-
The type of the elements of fourth.
- T5
-
The type of the elements of fifth.
- TResult
-
The type of the elements of the result sequence.
Return Value
Type:
IEnumerable<TResult>A sequence of elements returned by
resultSelector.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type
IEnumerable<T1>. 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).
Remarks
The method returns items in the same order as a nested foreach
loop, but all sequences except for first are
cached when iterated over. The cache is then re-used for any
subsequent iterations.
This method uses deferred execution and stream its results.
See Also