FullJoinExtensionFullJoinTFirst, TSecond, TKey, TResult(IEnumerableTFirst, IEnumerableTSecond, FuncTFirst, TKey, FuncTSecond, TKey, FuncTFirst, TResult, FuncTSecond, TResult, FuncTFirst, TSecond, TResult) Method
            Performs a full outer join on two heterogeneous sequences.
            Additional arguments specify key selection functions and result
            projection functions.
            
Namespace: MoreLinq.ExtensionsAssembly: MoreLinq (in MoreLinq.dll) Version: 4.4.0+6d97c3b1d482f98300f4446df14742b0e3fafbec
public 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
)
<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)
) 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
)
[<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> -> IEnumerable<'TResult> 
- first  IEnumerableTFirst
- 
            The first sequence to join fully.
- second  IEnumerableTSecond
- 
            The second sequence to join fully.
- firstKeySelector  FuncTFirst, TKey
- 
            Function that projects the key given an element from first.
- secondKeySelector  FuncTSecond, TKey
- 
            Function that projects the key given an element from second.
- firstSelector  FuncTFirst, TResult
- 
            Function that projects the result given just an element from
            first where there is no corresponding element
            in second.
- secondSelector  FuncTSecond, TResult
- 
            Function that projects the result given just an element from
            second where there is no corresponding element
            in first.
- bothSelector  FuncTFirst, TSecond, TResult
- 
            Function that projects the result given an element from
            first and an element from second
            that match on a common key.
- 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.
IEnumerableTResultA sequence containing results projected from a full
            outer join of the two input sequences.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).