예제 #1
0
        //---------------------------------------------------------------------------------------
        // 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));
        }
예제 #2
0
        //---------------------------------------------------------------------------------------
        // 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));
        }
예제 #3
0
        //---------------------------------------------------------------------------------------
        // Returns an enumerable that represents the query executing sequentially.
        //

        internal override IEnumerable <TSource> AsSequentialQuery(CancellationToken token)
        {
            return(LeftChild.AsSequentialQuery(token).Concat(RightChild.AsSequentialQuery(token)));
        }