MoreEnumerableFullJoinTFirst, TSecond, TKey, TResult Method (IEnumerableTFirst, IEnumerableTSecond, FuncTFirst, TKey, FuncTSecond, TKey, FuncTFirst, TResult, FuncTSecond, TResult, FuncTFirst, TSecond, TResult, IEqualityComparerTKey) | 
 
            Performs a full outer join on two heterogeneous sequences.
            Additional arguments specify key selection functions, result
            projection functions and a key comparer.
            
 
    Namespace: 
   MoreLinq
    Assembly:
   MoreLinq (in MoreLinq.dll) Version: 3.2.0+5205ea241d72b079436060d330cd5c2eae7cdcdf
Syntaxpublic static IEnumerable<TResult> FullJoin<TFirst, TSecond, TKey, TResult>(
	this IEnumerable<TFirst> first,
	IEnumerable<TSecond> second,
	Func<TFirst, TKey> firstKeySelector,
	Func<TSecond, TKey> secondKeySelector,
	Func<TFirst, TResult> firstSelector,
	Func<TSecond, TResult> secondSelector,
	Func<TFirst, TSecond, TResult> bothSelector,
	IEqualityComparer<TKey> comparer
)
<ExtensionAttribute>
Public Shared Function FullJoin(Of TFirst, TSecond, TKey, TResult) ( 
	first As IEnumerable(Of TFirst),
	second As IEnumerable(Of TSecond),
	firstKeySelector As Func(Of TFirst, TKey),
	secondKeySelector As Func(Of TSecond, TKey),
	firstSelector As Func(Of TFirst, TResult),
	secondSelector As Func(Of TSecond, TResult),
	bothSelector As Func(Of TFirst, TSecond, TResult),
	comparer As IEqualityComparer(Of TKey)
) As IEnumerable(Of TResult)
public:
[ExtensionAttribute]
generic<typename TFirst, typename TSecond, typename TKey, typename TResult>
static IEnumerable<TResult>^ FullJoin(
	IEnumerable<TFirst>^ first, 
	IEnumerable<TSecond>^ second, 
	Func<TFirst, TKey>^ firstKeySelector, 
	Func<TSecond, TKey>^ secondKeySelector, 
	Func<TFirst, TResult>^ firstSelector, 
	Func<TSecond, TResult>^ secondSelector, 
	Func<TFirst, TSecond, TResult>^ bothSelector, 
	IEqualityComparer<TKey>^ comparer
)
[<ExtensionAttribute>]
static member FullJoin : 
        first : IEnumerable<'TFirst> * 
        second : IEnumerable<'TSecond> * 
        firstKeySelector : Func<'TFirst, 'TKey> * 
        secondKeySelector : Func<'TSecond, 'TKey> * 
        firstSelector : Func<'TFirst, 'TResult> * 
        secondSelector : Func<'TSecond, 'TResult> * 
        bothSelector : Func<'TFirst, 'TSecond, 'TResult> * 
        comparer : IEqualityComparer<'TKey> -> IEnumerable<'TResult> 
Parameters
- first
 - Type: System.Collections.GenericIEnumerableTFirst
            The first sequence to join fully. - second
 - Type: System.Collections.GenericIEnumerableTSecond
            The second sequence to join fully. - firstKeySelector
 - Type: SystemFuncTFirst, TKey
            Function that projects the key given an element from first. - secondKeySelector
 - Type: SystemFuncTSecond, TKey
            Function that projects the key given an element from second. - firstSelector
 - Type: SystemFuncTFirst, TResult
            Function that projects the result given just an element from
            first where there is no corresponding element
            in second. - secondSelector
 - Type: SystemFuncTSecond, TResult
            Function that projects the result given just an element from
            second where there is no corresponding element
            in first. - bothSelector
 - Type: SystemFuncTFirst, TSecond, TResult
            Function that projects the result given an element from
            first and an element from second
            that match on a common key. - comparer
 - Type: System.Collections.GenericIEqualityComparerTKey
            The IEqualityComparerT instance used to compare
            keys for equality. 
Type Parameters
- TFirst
 - 
            The type of elements in the first sequence.
 - TSecond
 - 
            The type of elements in the second sequence.
 - TKey
 - 
            The type of the key returned by the key selector functions.
 - TResult
 - 
            The type of the result elements.
 
Return Value
Type: 
IEnumerableTResultA 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 
IEnumerableTFirst. 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