示例#1
0
            public void Dispose()
            {
                _parent?.Dispose();
                _parent = default;

                _hashset?.Dispose();
                _hashset = default;

                _src      = default;
                _selector = default;
                Pool <DistinctExprEnumerator> .Return(this);
            }
            public void Dispose()
            {
                _src?.Dispose();
                _src = null;

                _alreadyDoneItems?.Dispose();
                Pool <PoolingDictionary <T, int> > .Return(_alreadyDoneItems);

                _alreadyDoneItems = default;

                _parent?.Dispose();
                _parent = default;

                Pool <IntersectExprEnumerator> .Return(this);
            }
        private void Dispose()
        {
            if (_count == 0)
            {
                return;
            }
            _count--;
            if (_count == 0)
            {
                _src?.Dispose();
                Pool <PoolingDictionary <T, int> > .Return(_src);

                _src = default;

                Pool <UnionExprEnumerable <T> > .Return(this);
            }
        }
        private void Dispose()
        {
            if (_count == 0)
            {
                return;
            }
            _count--;
            if (_count == 0)
            {
                _src = default;
                _second?.Dispose();
                Pool <PoolingDictionary <T, int> > .Return(_second);

                _second = default;
                Pool <IntersectExprEnumerable <T> > .Return(this);
            }
        }
示例#5
0
            public void Dispose()
            {
                // Cleanup contents
                foreach (var grouping in _src)
                {
                    grouping.Value.Dispose();
                    Pool <PoolingGrouping> .Return(grouping.Value);
                }

                // cleanup collection
                _src?.Dispose();
                Pool <PoolingDictionary <TKey, PoolingGrouping> > .Return(_src);

                _src = default;

                _enumerator?.Dispose();
                _enumerator = default;

                _parent?.Dispose();
                _parent = default;

                Pool <GroupedResultEnumerator> .Return(this);
            }