FullJoinExtensionFullJoinTFirst, 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.Extensions
Assembly:
MoreLinq (in MoreLinq.dll) Version: 3.0.0
Syntax 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,
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