//--------------------------------------------------------------------------------------- // Returns an enumerable that represents the query executing sequentially. // internal override IEnumerable <TOutput> AsSequentialQuery(CancellationToken token) { IEnumerable <TLeftInput> wrappedLeftChild = CancellableEnumerable.Wrap(LeftChild.AsSequentialQuery(token), token); IEnumerable <TRightInput> wrappedRightChild = CancellableEnumerable.Wrap(RightChild.AsSequentialQuery(token), token); return(wrappedLeftChild .GroupJoin( wrappedRightChild, _leftKeySelector, _rightKeySelector, _resultSelector, _keyComparer)); }
//--------------------------------------------------------------------------------------- // Returns an enumerable that represents the query executing sequentially. // internal override IEnumerable <TInputOutput> AsSequentialQuery(CancellationToken token) { IEnumerable <TInputOutput> wrappedLeftChild = CancellableEnumerable.Wrap(LeftChild.AsSequentialQuery(token), token); IEnumerable <TInputOutput> wrappedRightChild = CancellableEnumerable.Wrap(RightChild.AsSequentialQuery(token), token); return(wrappedLeftChild.Intersect(wrappedRightChild, _comparer)); }
//--------------------------------------------------------------------------------------- // Returns an enumerable that represents the query executing sequentially. // internal override IEnumerable <TSource> AsSequentialQuery(CancellationToken token) { return(LeftChild.AsSequentialQuery(token).Concat(RightChild.AsSequentialQuery(token))); }