public bool MoveNext()
        {
            if (_prevEnumerator.MoveNext())
            {
                _current = _projector(_prevEnumerator.Current);
                return(true);
            }

            return(false);
        }
        public bool MoveNext()
        {
            while (_prevEnumerator.MoveNext())
            {
                if (_predicate(_prevEnumerator.Current))
                {
                    _current = _prevEnumerator.Current;
                    return(true);
                }
            }

            return(false);
        }
Example #3
0
        public bool MoveNext()
        {
            if (_counter < _limit)
            {
                if (_prevEnumerator.MoveNext())
                {
                    _current = _prevEnumerator.Current;
                    _counter++;
                    return(true);
                }
            }

            return(false);
        }
        public bool MoveNext()
        {
            if (_innerEnumerator == null)
            {
                if (!_prevEnumerator.MoveNext())
                {
                    return(false);
                }

                _innerEnumerator = _projector(_prevEnumerator.Current).GetEnumerator();
                return(MoveNext());
            }

            if (_innerEnumerator.MoveNext())
            {
                _current = _innerEnumerator.Current;
                return(true);
            }

            _innerEnumerator = null;
            return(MoveNext());
        }