MoreEnumerable.FullJoin<TSource, TKey, TResult> Method (IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TResult>, Func<TSource, TResult>, Func<TSource, TSource, TResult>, IEqualityComparer<TKey>) |
Performs a full outer join on two homogeneous 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<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,
IEqualityComparer<TKey> comparer
)
<ExtensionAttribute>
Public Shared Function FullJoin(Of TSource, TKey, TResult) (
first As IEnumerable(Of TSource),
second As IEnumerable(Of TSource),
keySelector As Func(Of TSource, TKey),
firstSelector As Func(Of TSource, TResult),
secondSelector As Func(Of TSource, TResult),
bothSelector As Func(Of TSource, TSource, TResult),
comparer As IEqualityComparer(Of TKey)
) As IEnumerable(Of TResult)
public:
[ExtensionAttribute]
generic<typename TSource, typename TKey, typename TResult>
static IEnumerable<TResult>^ FullJoin(
IEnumerable<TSource>^ first,
IEnumerable<TSource>^ second,
Func<TSource, TKey>^ keySelector,
Func<TSource, TResult>^ firstSelector,
Func<TSource, TResult>^ secondSelector,
Func<TSource, TSource, TResult>^ bothSelector,
IEqualityComparer<TKey>^ comparer
)
[<ExtensionAttribute>]
static member FullJoin :
first : IEnumerable<'TSource> *
second : IEnumerable<'TSource> *
keySelector : Func<'TSource, 'TKey> *
firstSelector : Func<'TSource, 'TResult> *
secondSelector : Func<'TSource, 'TResult> *
bothSelector : Func<'TSource, 'TSource, 'TResult> *
comparer : IEqualityComparer<'TKey> -> IEnumerable<'TResult>
Parameters
- first
- Type: System.Collections.Generic.IEnumerable<TSource>
The first sequence to join fully. - second
- Type: System.Collections.Generic.IEnumerable<TSource>
The second sequence to join fully. - keySelector
- Type: System.Func<TSource, TKey>
Function that projects the key given an element of one of the
sequences to join. - firstSelector
- Type: System.Func<TSource, TResult>
Function that projects the result given just an element from
first where there is no corresponding element
in second. - secondSelector
- Type: System.Func<TSource, TResult>
Function that projects the result given just an element from
second where there is no corresponding element
in first. - bothSelector
- Type: System.Func<TSource, TSource, 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
- 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
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<TSource>. 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