FullJoinExtensionFullJoinTSource, TKey, TResult(IEnumerableTSource, IEnumerableTSource, FuncTSource, TKey, FuncTSource, TResult, FuncTSource, TResult, FuncTSource, TSource, TResult) Method

Performs a full outer join on two homogeneous sequences. Additional arguments specify key selection functions and result projection functions.

Definition

Namespace: MoreLinq.Extensions
Assembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
C#
public static IEnumerable<TResult> FullJoin<TSource, TKey, TResult>(
	this IEnumerable<TSource> first,
	IEnumerable<TSource> second,
	Func<TSource, TKey> keySelector,
	Func<TSource, TResult> firstSelector,
	Func<TSource, TResult> secondSelector,
	Func<TSource, TSource, TResult> bothSelector
)

Parameters

first  IEnumerableTSource
The first sequence to join fully.
second  IEnumerableTSource
The second sequence to join fully.
keySelector  FuncTSource, TKey
Function that projects the key given an element of one of the sequences to join.
firstSelector  FuncTSource, TResult
Function that projects the result given just an element from first where there is no corresponding element in second.
secondSelector  FuncTSource, TResult
Function that projects the result given just an element from second where there is no corresponding element in first.
bothSelector  FuncTSource, TSource, TResult
Function that projects the result given an element from first and an element from second that match on a common key.

Type Parameters

TSource
The type of elements in the source sequence.
TKey
The type of the key returned by the key selector function.
TResult
The type of the result elements.

Return Value

IEnumerableTResult
A sequence containing results projected from a full outer join of the two input sequences.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerableTSource. 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).

See Also