Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            // [[1,1],2,[1,1]]
            var nestedIntegerList = new List <NestedInteger>
            {
                new NestedIntegerImpl
                {
                    IsInteger = false,
                    List      = new List <NestedInteger>
                    {
                        new NestedIntegerImpl
                        {
                            IsInteger = true,
                            Integer   = 1
                        },
                        new NestedIntegerImpl
                        {
                            IsInteger = true,
                            Integer   = 1
                        }
                    }
                },
                new NestedIntegerImpl
                {
                    IsInteger = true,
                    Integer   = 2
                },
                new NestedIntegerImpl
                {
                    IsInteger = false,
                    List      = new List <NestedInteger>
                    {
                        new NestedIntegerImpl
                        {
                            IsInteger = true,
                            Integer   = 1
                        },
                        new NestedIntegerImpl
                        {
                            IsInteger = true,
                            Integer   = 1
                        }
                    }
                }
            };

            var iterator = new NestedIterator(nestedIntegerList);

            while (iterator.HasNext())
            {
                Console.WriteLine(iterator.Next());
            }
        }
Ejemplo n.º 2
0
        public int Next()
        {
            if (_nestedList[_curIndex].IsInteger())
            {
                var result = _nestedList[_curIndex].GetInteger();
                _curIndex++;
                return(result);
            }
            EnsureSubnestedIterator();

            if (_subNestedIterator.HasNext())
            {
                return(_subNestedIterator.Next());
            }
            else
            {
                _curIndex++;
                _subNestedIterator = null;
                return(Next());
            }
        }