Читати англійською Редагувати

Поділитися через


AsyncEnumerable.GroupJoin Method

Definition

Overloads

GroupJoin<TOuter,TInner,TKey,TResult>(IAsyncEnumerable<TOuter>, IAsyncEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>,TResult>, IEqualityComparer<TKey>)

Source:
GroupJoin.cs

Correlates the elements of two sequences based on key equality and groups the results.

C#
public static System.Collections.Generic.IAsyncEnumerable<TResult> GroupJoin<TOuter,TInner,TKey,TResult>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, Func<TOuter,TKey> outerKeySelector, Func<TInner,TKey> innerKeySelector, Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult> resultSelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = default);

Type Parameters

TOuter
TInner
TKey
TResult

Parameters

outer
IAsyncEnumerable<TOuter>

The first sequence to join.

inner
IAsyncEnumerable<TInner>

The sequence to join to the first sequence.

outerKeySelector
Func<TOuter,TKey>

A function to extract the join key from each element of the first sequence.

innerKeySelector
Func<TInner,TKey>

A function to extract the join key from each element of the second sequence.

resultSelector
Func<TOuter,IEnumerable<TInner>,TResult>

A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence.

comparer
IEqualityComparer<TKey>

An IEqualityComparer<T> to use to hash and compare keys.

Returns

IAsyncEnumerable<TResult>

An IAsyncEnumerable<T> that contains elements of type TResult that are obtained by performing a grouped join on two sequences.

Exceptions

resultSelector is null.

Applies to

.NET 10 та інші версії
Продукт Версії
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided), 10
.NET Standard 2.0 (package-provided)

GroupJoin<TOuter,TInner,TKey,TResult>(IAsyncEnumerable<TOuter>, IAsyncEnumerable<TInner>, Func<TOuter,CancellationToken,ValueTask<TKey>>, Func<TInner,CancellationToken,ValueTask<TKey>>, Func<TOuter, IEnumerable<TInner>,CancellationToken,ValueTask<TResult>>, IEqualityComparer<TKey>)

Source:
GroupJoin.cs

Correlates the elements of two sequences based on key equality and groups the results.

C#
public static System.Collections.Generic.IAsyncEnumerable<TResult> GroupJoin<TOuter,TInner,TKey,TResult>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, Func<TOuter,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<TKey>> outerKeySelector, Func<TInner,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<TKey>> innerKeySelector, Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<TResult>> resultSelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = default);

Type Parameters

TOuter
TInner
TKey
TResult

Parameters

outer
IAsyncEnumerable<TOuter>

The first sequence to join.

inner
IAsyncEnumerable<TInner>

The sequence to join to the first sequence.

outerKeySelector
Func<TOuter,CancellationToken,ValueTask<TKey>>

A function to extract the join key from each element of the first sequence.

innerKeySelector
Func<TInner,CancellationToken,ValueTask<TKey>>

A function to extract the join key from each element of the second sequence.

resultSelector
Func<TOuter,IEnumerable<TInner>,CancellationToken,ValueTask<TResult>>

A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence.

comparer
IEqualityComparer<TKey>

An IEqualityComparer<T> to use to hash and compare keys.

Returns

IAsyncEnumerable<TResult>

An IAsyncEnumerable<T> that contains elements of type TResult that are obtained by performing a grouped join on two sequences.

Exceptions

resultSelector is null.

Applies to

.NET 10 та інші версії
Продукт Версії
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided), 10
.NET Standard 2.0 (package-provided)