예제 #1
0
        public override bool ReadNext(ref byte next)
        {
            var buffer = Buffer.Buffer;
            var pos    = Buffer.Position;
            var b1     = buffer[pos];
            var b2     = buffer[pos + 1];

            if (Equal(ref b1, ref b2, Encoding.One))
            {
                next = 1;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Two))
            {
                next = 2;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Three))
            {
                next = 3;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Four))
            {
                next = 4;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Five))
            {
                next = 5;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Six))
            {
                next = 6;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Seven))
            {
                next = 7;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Eight))
            {
                next = 8;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Nine))
            {
                next = 9;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Zero))
            {
                next = 0;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Point))
            {
                next = Decimal;
                Buffer.Advance(Size);
                return(true);
            }
            if (Equal(ref b1, ref b2, Encoding.Minus))
            {
                next = Negative;
                Buffer.Advance(Size);
                return(true);
            }
            return(false);
        }
예제 #2
0
        public override bool ReadNext(ref byte next)
        {
            var buffer = Buffer.Buffer;
            var pos    = Buffer.Position;
            var b1     = buffer[pos];

            if (b1 == Encoding.One[0])
            {
                next = 1;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Two[0])
            {
                next = 2;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Three[0])
            {
                next = 3;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Four[0])
            {
                next = 4;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Five[0])
            {
                next = 5;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Six[0])
            {
                next = 6;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Seven[0])
            {
                next = 7;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Eight[0])
            {
                next = 8;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Nine[0])
            {
                next = 9;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Zero[0])
            {
                next = 0;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Point[0])
            {
                next = Decimal;
                Buffer.Advance(Size);
                return(true);
            }
            if (b1 == Encoding.Minus[0])
            {
                next = Negative;
                Buffer.Advance(Size);
                return(true);
            }
            return(false);
        }