public bool MoveNext() { if (_version != _stack._version) { throw new InvalidOperationException("Version Conflict"); } if (_index == -2) { _index = 0; var flag = _index >= 0; if (flag) { _currentElement = _stack[_index]; } return(flag); } if (_index == -1) { return(false); } var num = _index + 1; _index = num; var flag1 = num < _stack.Count(); _currentElement = !flag1 ? default(T) : _stack[_index]; return(flag1); }