/// <summary> /// Returns a Slinq that enumerates an inner join of the lookup with the specified Slinq using the specified selectors. /// When the enumeration is complete, the lookup and any values it contains are added to the disposal queue. /// </summary> public Slinq <U, JoinContext <U, K, T, T2, C2, P> > JoinAndDispose <U, T2, C2, P>(Slinq <T2, C2> outer, Func <T2, P, K> outerSelector, Func <T2, T, P, U> resultSelector, P parameter) { return(JoinContext <U, K, T, T2, C2, P> .Join(this, outer, outerSelector, resultSelector, parameter, true)); }
/// <summary> /// Returns a Slinq that enumerates an inner join of the lookup with the specified Slinq using the specified selectors. /// /// When the enumeration is complete, the lookup and any values it contains are added to the disposal queue. /// </summary> public Slinq <U, JoinContext <U, K, T, T2, C2> > JoinAndDispose <U, T2, C2>(Slinq <T2, C2> outer, DelegateFunc <T2, K> outerSelector, DelegateFunc <T2, T, U> resultSelector) { return(JoinContext <U, K, T, T2, C2> .Join(this, outer, outerSelector, resultSelector, true)); }
/// <summary> /// Returns a Slinq that enumerates an inner join of the lookup with the specified Slinq using the specified selectors. /// Ownership of the lookup and any values it contains is retained by the caller. /// </summary> public Slinq <U, JoinContext <U, K, T, T2, C2> > JoinAndKeep <U, T2, C2>(Slinq <T2, C2> outer, Func <T2, K> outerSelector, Func <T2, T, U> resultSelector) { return(JoinContext <U, K, T, T2, C2> .Join(this, outer, outerSelector, resultSelector, false)); }
/// <summary> /// Returns a Slinq that enumerates an inner join of the lookup with the specified Slinq using the specified selectors. /// /// Ownership of the lookup and any values it contains is retained by the caller. /// </summary> public Slinq <U, JoinContext <U, K, T, T2, C2, P> > JoinAndKeep <U, T2, C2, P>(Slinq <T2, C2> outer, DelegateFunc <T2, P, K> outerSelector, DelegateFunc <T2, T, P, U> resultSelector, P parameter) { return(JoinContext <U, K, T, T2, C2, P> .Join(this, outer, outerSelector, resultSelector, parameter, false)); }