FullGroupJoinExtensionFullGroupJoinTFirst, TSecond, TKey, TResult(IEnumerableTFirst, IEnumerableTSecond, FuncTFirst, TKey, FuncTSecond, TKey, FuncTKey, IEnumerableTFirst, IEnumerableTSecond, TResult, IEqualityComparerTKey) Method
Performs a full group-join between two sequences.
Namespace: MoreLinq.ExtensionsAssembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
public static IEnumerable<TResult> FullGroupJoin<TFirst, TSecond, TKey, TResult>(
this IEnumerable<TFirst> first,
IEnumerable<TSecond> second,
Func<TFirst, TKey> firstKeySelector,
Func<TSecond, TKey> secondKeySelector,
Func<TKey, IEnumerable<TFirst>, IEnumerable<TSecond>, TResult> resultSelector,
IEqualityComparer<TKey>? comparer
)
<ExtensionAttribute>
Public Shared Function FullGroupJoin(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),
resultSelector As Func(Of TKey, IEnumerable(Of TFirst), IEnumerable(Of 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>^ FullGroupJoin(
IEnumerable<TFirst>^ first,
IEnumerable<TSecond>^ second,
Func<TFirst, TKey>^ firstKeySelector,
Func<TSecond, TKey>^ secondKeySelector,
Func<TKey, IEnumerable<TFirst>^, IEnumerable<TSecond>^, TResult>^ resultSelector,
IEqualityComparer<TKey>^ comparer
)
[<ExtensionAttribute>]
static member FullGroupJoin :
first : IEnumerable<'TFirst> *
second : IEnumerable<'TSecond> *
firstKeySelector : Func<'TFirst, 'TKey> *
secondKeySelector : Func<'TSecond, 'TKey> *
resultSelector : Func<'TKey, IEnumerable<'TFirst>, IEnumerable<'TSecond>, 'TResult> *
comparer : IEqualityComparer<'TKey> -> IEnumerable<'TResult>
- first IEnumerableTFirst
- First sequence
- second IEnumerableTSecond
- Second sequence
- firstKeySelector FuncTFirst, TKey
- The mapping from first sequence to key
- secondKeySelector FuncTSecond, TKey
- The mapping from second sequence to key
- resultSelector FuncTKey, IEnumerableTFirst, IEnumerableTSecond, TResult
- Function to apply to each pair of elements plus the key
- comparer IEqualityComparerTKey
- The equality comparer to use to determine whether or not keys are equal.
If null, the default equality comparer for TKey is used.
- TFirst
- The type of the elements in the first input sequence
- TSecond
- The type of the elements in the second input sequence
- TKey
- The type of the key to use to join
- TResult
- The type of the elements of the resulting sequence
IEnumerableTResultA sequence of elements joined from
first and
second.
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).
This operator uses deferred execution and streams the results.
The results are yielded in the order of the elements found in the first sequence
followed by those found only in the second. In addition, the callback responsible
for projecting the results is supplied with sequences which preserve their source order.