[]
        
(Showing Draft Content)

C1.LiveLinq.IndexedQueryExtensions.GroupJoin

GroupJoin Method

GroupJoin<TOuter, TInner, TKey, TResult>(IIndexedSource<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, IEnumerable<TInner>, TResult>>)

Correlates the elements of two collections based on equality of keys and groups the results.

Declaration
public static IIndexedSource<TResult> GroupJoin<TOuter, TInner, TKey, TResult>(this IIndexedSource<TOuter> outer, IEnumerable<TInner> inner, Expression<Func<TOuter, TKey>> outerKeySelector, Expression<Func<TInner, TKey>> innerKeySelector, Expression<Func<TOuter, IEnumerable<TInner>, TResult>> resultSelector)
Parameters
Type Name Description
IIndexedSource<TOuter> outer

The first collection to join.

IEnumerable<TInner> inner

The collection to join to the first collection.

Expression<Func<TOuter, TKey>> outerKeySelector

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

Expression<Func<TInner, TKey>> innerKeySelector

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

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

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

Returns
Type Description
IIndexedSource<TResult>

An IIndexedSource<TResult> that contains elements of type TResult that are obtained by performing a grouped join on two collections.

Type Parameters
Name Description
TOuter

The type of the elements of the first collection.

TInner

The type of the elements of the second collection.

TKey

The type of the keys returned by the key selector functions.

TResult

The type of the result elements.