EquiZipExtension.EquiZip<TFirst, TSecond, TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst, TSecond, TResult>) Method
Returns a projection of tuples, where each tuple contains the N-th
element from each of the argument sequences. An exception is thrown
if the input sequences are of different lengths.
Namespace: MoreLinq.ExtensionsAssembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
public static IEnumerable<TResult> EquiZip<TFirst, TSecond, TResult>(
this IEnumerable<TFirst> first,
IEnumerable<TSecond> second,
Func<TFirst, TSecond, TResult> resultSelector
)
<ExtensionAttribute>
Public Shared Function EquiZip(Of TFirst, TSecond, TResult) (
first As IEnumerable(Of TFirst),
second As IEnumerable(Of TSecond),
resultSelector As Func(Of TFirst, TSecond, TResult)
) As IEnumerable(Of TResult)
public:
[ExtensionAttribute]
generic<typename TFirst, typename TSecond, typename TResult>
static IEnumerable<TResult>^ EquiZip(
IEnumerable<TFirst>^ first,
IEnumerable<TSecond>^ second,
Func<TFirst, TSecond, TResult>^ resultSelector
)
[<ExtensionAttribute>]
static member EquiZip :
first : IEnumerable<'TFirst> *
second : IEnumerable<'TSecond> *
resultSelector : Func<'TFirst, 'TSecond, 'TResult> -> IEnumerable<'TResult>
- first IEnumerable<TFirst>
- The first sequence.
- second IEnumerable<TSecond>
- The second sequence.
- resultSelector Func<TFirst, TSecond, TResult>
-
Function to apply to each pair of elements.
- TFirst
- Type of elements in first sequence.
- TSecond
- Type of elements in second sequence.
- TResult
- Type of elements in result sequence.
IEnumerable<TResult>
A sequence that contains elements of the two input sequences,
combined by
resultSelector.
In Visual Basic and C#, you can call this method as an instance method on any object of type
IEnumerable<TFirst>. 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 deferred execution and streams its results.
var numbers = new[] { 1, 2, 3, 4 };
var letters = new[] { "A", "B", "C", "D" };
var zipped = numbers.EquiZip(letters, (n, l) => n + l);
The
zipped variable, when iterated over, will yield "1A",
"2B", "3C", "4D" in turn.