Correlates the elements of two collections based on matching keys.

Namespace:  C1.LiveLinq
Assembly:  C1.LiveLinq (in C1.LiveLinq.dll)

Syntax

C#
public static IIndexedSource<TResult> Join<TOuter, TInner, TKey, TResult>(
	this IEnumerable<TOuter> outer,
	IIndexedSource<TInner> inner,
	Expression<Func<TOuter, TKey>> outerKeySelector,
	Expression<Func<TInner, TKey>> innerKeySelector,
	Expression<Func<TOuter, TInner, TResult>> resultSelector
)
Visual Basic
<ExtensionAttribute> _
Public Shared Function Join(Of TOuter, TInner, TKey, TResult) ( _
	outer As IEnumerable(Of TOuter), _
	inner As IIndexedSource(Of TInner), _
	outerKeySelector As Expression(Of Func(Of TOuter, TKey)), _
	innerKeySelector As Expression(Of Func(Of TInner, TKey)), _
	resultSelector As Expression(Of Func(Of TOuter, TInner, TResult)) _
) As IIndexedSource(Of TResult)

Parameters

outer
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'TOuter>)>)>
The first collection to join.
inner
Type: C1.LiveLinq.Indexing..::..IIndexedSource<(Of <(<'TInner>)>)>
The second collection to join.
outerKeySelector
Type: System.Linq.Expressions..::..Expression<(Of <(<'Func<(Of <(<'TOuter, TKey>)>)>>)>)>
A function to extract the join key from each element of the first collection.
innerKeySelector
Type: System.Linq.Expressions..::..Expression<(Of <(<'Func<(Of <(<'TInner, TKey>)>)>>)>)>
A function to extract the join key from each element of the second collection.
resultSelector
Type: System.Linq.Expressions..::..Expression<(Of <(<'Func<(Of <(<'TOuter, TInner, TResult>)>)>>)>)>
A function to create a result element from two matching elements.

Type Parameters

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.

Return Value

An IIndexedSource<TResult> that has elements of type TResult that are obtained by performing an inner join on two collections.

See Also