protected virtual void Dispose(bool disposing) { if (!_disposedValue) { if (disposing) { BaseEnumerator.Dispose(); } _disposedValue = true; } }
public void Dispose() { if (BaseEnumerator != null) { BaseEnumerator.Dispose(); BaseEnumerator = null; } if (SparseMemorySpan.IsEmpty == false) { List.DeallocateItems(SparseMemorySpan); SparseMemorySpan = SparseMemorySpan <T> .Empty; } List = null; }
public bool MoveNext() { if (BaseEnumerator != null) { var next = BaseEnumerator.MoveNext(); if (next) { Current = BaseEnumerator.Current; return(true); } BaseEnumerator.Dispose(); BaseEnumerator = null; if (SparseMemorySpan.IsEmpty) { return(false); } Current = SparseMemorySpan.Span[0]; return(true); } if (CurrentItemIndex < ItemsCount - 1) { CurrentItemIndex++; Current = SparseMemorySpan.Span[CurrentItemIndex]; return(true); } Current = default; return(false); }
void IDisposable.Dispose() { BaseEnumerator.Dispose(); }
public void Dispose() { BaseEnumerator.Dispose(); }