/// <inheritdoc cref="M:VariableIrony.IEnumerableExtensions.LeftJoin``4(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3},System.Collections.Generic.IEqualityComparer{``2})" /> /// <remarks> /// <inheritdoc cref="M:VariableIrony.IEnumerableExtensions.LeftJoin``4(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3},System.Collections.Generic.IEqualityComparer{``2})" /> /// <para>This method is called when using query expressions where the sequence expression on the right side is an <see cref="T:VariableIrony.Linq.IInnerEnumerable`1" /> (for example, by calling <see cref="M:VariableIrony.IEnumerableExtensions.AsInner``1(System.Collections.Generic.IEnumerable{``0})" />).</para> /// </remarks> public static IEnumerable <TResult> Join <TOuter, TInner, TKey, TResult>(this IEnumerable <TOuter> outer, IInnerEnumerable <TInner> inner, Func <TOuter, TKey> outerKeySelector, Func <TInner, TKey> innerKeySelector, Func <TOuter, TInner, TResult> resultSelector, IEqualityComparer <TKey> comparer) { return(LeftJoin(outer, GetSource(inner), outerKeySelector, innerKeySelector, resultSelector, comparer)); }
/// <inheritdoc cref="M:VariableIrony.IEnumerableExtensions.Join``4(System.Collections.Generic.IEnumerable{``0},VariableIrony.Linq.IInnerEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3},System.Collections.Generic.IEqualityComparer{``2})" /> public static IEnumerable <TResult> Join <TOuter, TInner, TKey, TResult>(this IEnumerable <TOuter> outer, IInnerEnumerable <TInner> inner, Func <TOuter, TKey> outerKeySelector, Func <TInner, TKey> innerKeySelector, Func <TOuter, TInner, TResult> resultSelector) { return(outer.Join(inner, outerKeySelector, innerKeySelector, resultSelector, null)); }