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); } }
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); }