YamlDotNet.Core.Parser.MoveNext C# (CSharp) Method

MoveNext() public method

Moves to the next event.
public MoveNext ( ) : bool
return bool
        public bool MoveNext()
        {
            // No events after the end of the stream or error.
            if (state == ParserState.StreamEnd)
            {
                currentEvent = null;
                return false;
            }
            else if (pendingEvents.Count == 0)
            {
                // Generate the next event.
                pendingEvents.Enqueue(StateMachine());
            }

            currentEvent = pendingEvents.Dequeue();
            return true;
        }

Usage Example

示例#1
0
        static void Main(string[] args)
        {
            using (TextReader input = File.OpenText(args[0]))
            {
                int indent = 0;
                Parser parser = new Parser(input);
                while(parser.MoveNext())
                {
                    if (parser.Current is StreamEnd || parser.Current is DocumentEnd || parser.Current is SequenceEnd || parser.Current is SequenceEnd || parser.Current is MappingEnd)
                    {
                        --indent;
                    }
                    for(int i = 0; i < indent; ++i)
                    {
                        Console.Write("  ");
                    }

                    Console.WriteLine(parser.Current.ToString());

                    if (parser.Current is StreamStart || parser.Current is DocumentStart || parser.Current is SequenceStart || parser.Current is MappingStart)
                    {
                        ++indent;
                    }
                }
            }
        }
All Usage Examples Of YamlDotNet.Core.Parser::MoveNext