Method EquiZip
View SourceEquiZip<TFirst, TSecond, TResult>(IAsyncEnumerable<TFirst>, IAsyncEnumerable<TSecond>, Func<TFirst, TSecond, TResult>)
Applies a specified function to the corresponding elements of second sequences, producing a sequence of the results.
The resulting sequence has the same length as the input sequences. If the input sequences are of different lengths, an exception is thrown.
Declaration
public static IAsyncEnumerable<TResult> EquiZip<TFirst, TSecond, TResult>(this IAsyncEnumerable<TFirst> first, IAsyncEnumerable<TSecond> second, Func<TFirst, TSecond, TResult> resultSelector)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TFirst> | first | The first sequence of elements. |
IAsyncEnumerable<TSecond> | second | The second sequence of elements. |
Func<TFirst, TSecond, TResult> | resultSelector | A projection function that combines elements from all of the sequences. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<TResult> | A sequence of elements returned by |
Type Parameters
Name | Description |
---|---|
TFirst | The type of the elements of |
TSecond | The type of the elements of |
TResult | The type of the elements of the result sequence. |
Remarks
This method uses deferred execution and stream its results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
InvalidOperationException | Any of the input sequences are shorter than the others. |
EquiZip<TFirst, TSecond>(IAsyncEnumerable<TFirst>, IAsyncEnumerable<TSecond>)
Joins the corresponding elements of second sequences, producing a sequence of tuples containing them.
Declaration
public static IAsyncEnumerable<(TFirst, TSecond)> EquiZip<TFirst, TSecond>(this IAsyncEnumerable<TFirst> first, IAsyncEnumerable<TSecond> second)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TFirst> | first | The first sequence of elements. |
IAsyncEnumerable<TSecond> | second | The second sequence of elements. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<(TFirst, TSecond)> | A sequence of (T1, T2) containing corresponding elements from each of the sequences. |
Type Parameters
Name | Description |
---|---|
TFirst | The type of the elements of |
TSecond | The type of the elements of |
Remarks
This method uses deferred execution and stream its results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Any of the input sequences is null. |
InvalidOperationException | Any of the input sequences are shorter than the others. |
EquiZip<TFirst, TSecond, TThird, TResult>(IAsyncEnumerable<TFirst>, IAsyncEnumerable<TSecond>, IAsyncEnumerable<TThird>, Func<TFirst, TSecond, TThird, TResult>)
Applies a specified function to the corresponding elements of third sequences, producing a sequence of the results.
The resulting sequence has the same length as the input sequences. If the input sequences are of different lengths, an exception is thrown.
Declaration
public static IAsyncEnumerable<TResult> EquiZip<TFirst, TSecond, TThird, TResult>(this IAsyncEnumerable<TFirst> first, IAsyncEnumerable<TSecond> second, IAsyncEnumerable<TThird> third, Func<TFirst, TSecond, TThird, TResult> resultSelector)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TFirst> | first | The first sequence of elements. |
IAsyncEnumerable<TSecond> | second | The second sequence of elements. |
IAsyncEnumerable<TThird> | third | The third sequence of elements. |
Func<TFirst, TSecond, TThird, TResult> | resultSelector | A projection function that combines elements from all of the sequences. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<TResult> | A sequence of elements returned by |
Type Parameters
Name | Description |
---|---|
TFirst | The type of the elements of |
TSecond | The type of the elements of |
TThird | The type of the elements of |
TResult | The type of the elements of the result sequence. |
Remarks
This method uses deferred execution and stream its results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
InvalidOperationException | Any of the input sequences are shorter than the others. |
EquiZip<TFirst, TSecond, TThird>(IAsyncEnumerable<TFirst>, IAsyncEnumerable<TSecond>, IAsyncEnumerable<TThird>)
Joins the corresponding elements of third sequences, producing a sequence of tuples containing them.
Declaration
public static IAsyncEnumerable<(TFirst, TSecond, TThird)> EquiZip<TFirst, TSecond, TThird>(this IAsyncEnumerable<TFirst> first, IAsyncEnumerable<TSecond> second, IAsyncEnumerable<TThird> third)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TFirst> | first | The first sequence of elements. |
IAsyncEnumerable<TSecond> | second | The second sequence of elements. |
IAsyncEnumerable<TThird> | third | The third sequence of elements. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<(TFirst, TSecond, TThird)> | A sequence of (T1, T2, T3) containing corresponding elements from each of the sequences. |
Type Parameters
Name | Description |
---|---|
TFirst | The type of the elements of |
TSecond | The type of the elements of |
TThird | The type of the elements of |
Remarks
This method uses deferred execution and stream its results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Any of the input sequences is null. |
InvalidOperationException | Any of the input sequences are shorter than the others. |
EquiZip<TFirst, TSecond, TThird, TFourth, TResult>(IAsyncEnumerable<TFirst>, IAsyncEnumerable<TSecond>, IAsyncEnumerable<TThird>, IAsyncEnumerable<TFourth>, Func<TFirst, TSecond, TThird, TFourth, TResult>)
Applies a specified function to the corresponding elements of fourth sequences, producing a sequence of the results.
The resulting sequence has the same length as the input sequences. If the input sequences are of different lengths, an exception is thrown.
Declaration
public static IAsyncEnumerable<TResult> EquiZip<TFirst, TSecond, TThird, TFourth, TResult>(this IAsyncEnumerable<TFirst> first, IAsyncEnumerable<TSecond> second, IAsyncEnumerable<TThird> third, IAsyncEnumerable<TFourth> fourth, Func<TFirst, TSecond, TThird, TFourth, TResult> resultSelector)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TFirst> | first | The first sequence of elements. |
IAsyncEnumerable<TSecond> | second | The second sequence of elements. |
IAsyncEnumerable<TThird> | third | The third sequence of elements. |
IAsyncEnumerable<TFourth> | fourth | The fourth sequence of elements. |
Func<TFirst, TSecond, TThird, TFourth, TResult> | resultSelector | A projection function that combines elements from all of the sequences. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<TResult> | A sequence of elements returned by |
Type Parameters
Name | Description |
---|---|
TFirst | The type of the elements of |
TSecond | The type of the elements of |
TThird | The type of the elements of |
TFourth | The type of the elements of |
TResult | The type of the elements of the result sequence. |
Remarks
This method uses deferred execution and stream its results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
InvalidOperationException | Any of the input sequences are shorter than the others. |
EquiZip<TFirst, TSecond, TThird, TFourth>(IAsyncEnumerable<TFirst>, IAsyncEnumerable<TSecond>, IAsyncEnumerable<TThird>, IAsyncEnumerable<TFourth>)
Joins the corresponding elements of fourth sequences, producing a sequence of tuples containing them.
Declaration
public static IAsyncEnumerable<(TFirst, TSecond, TThird, TFourth)> EquiZip<TFirst, TSecond, TThird, TFourth>(this IAsyncEnumerable<TFirst> first, IAsyncEnumerable<TSecond> second, IAsyncEnumerable<TThird> third, IAsyncEnumerable<TFourth> fourth)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TFirst> | first | The first sequence of elements. |
IAsyncEnumerable<TSecond> | second | The second sequence of elements. |
IAsyncEnumerable<TThird> | third | The third sequence of elements. |
IAsyncEnumerable<TFourth> | fourth | The fourth sequence of elements. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<(TFirst, TSecond, TThird, TFourth)> | A sequence of (T1, T2, T3, T4) containing corresponding elements from each of the sequences. |
Type Parameters
Name | Description |
---|---|
TFirst | The type of the elements of |
TSecond | The type of the elements of |
TThird | The type of the elements of |
TFourth | The type of the elements of |
Remarks
This method uses deferred execution and stream its results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Any of the input sequences is null. |
InvalidOperationException | Any of the input sequences are shorter than the others. |