MoreEnumerable.FullJoin<TFirst, TSecond, TKey, TResult> Method (IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst, TKey>, Func<TSecond, TKey>, Func<TFirst, TResult>, Func<TSecond, TResult>, Func<TFirst, TSecond, TResult>, IEqualityComparer<TKey>) |
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: 2.10.0
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.Generic.IEnumerable<TFirst>
The first sequence to join fully. - second
- Type: System.Collections.Generic.IEnumerable<TSecond>
The second sequence to join fully. - firstKeySelector
- Type: System.Func<TFirst, TKey>
Function that projects the key given an element from first. - secondKeySelector
- Type: System.Func<TSecond, TKey>
Function that projects the key given an element from second. - firstSelector
- Type: System.Func<TFirst, TResult>
Function that projects the result given just an element from
first where there is no corresponding element
in second. - secondSelector
- Type: System.Func<TSecond, TResult>
Function that projects the result given just an element from
second where there is no corresponding element
in first. - bothSelector
- Type: System.Func<TFirst, 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.Generic.IEqualityComparer<TKey>
The IEqualityComparer< T> 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:
IEnumerable<TResult>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
IEnumerable<TFirst>. 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