public bool MoveNext() { bool moveNext = _source.MoveNext(); if (moveNext) { if (current.Index == -1) { current = new ItemIndexPair <T>(0, _source.Current); } else { current = current.Next(_source.Current); } } return(moveNext); }
public Enumerator(IEnumerator <T> source) { _source = source; current = new ItemIndexPair <T>(-1, default(T)); }