ToInt32() static public method

static public ToInt32 ( byte buffer, int offset, int count ) : int
buffer byte
offset int
count int
return int
示例#1
0
        public int ToInt()
        {
            ValueHandleType type = _type;

            if (type == ValueHandleType.Zero)
            {
                return(0);
            }
            if (type == ValueHandleType.One)
            {
                return(1);
            }
            if (type == ValueHandleType.Int8)
            {
                return(GetInt8());
            }
            if (type == ValueHandleType.Int16)
            {
                return(GetInt16());
            }
            if (type == ValueHandleType.Int32)
            {
                return(GetInt32());
            }
            if (type == ValueHandleType.Int64)
            {
                long value = GetInt64();
                if (value >= int.MinValue && value <= int.MaxValue)
                {
                    return((int)value);
                }
            }
            if (type == ValueHandleType.UInt64)
            {
                ulong value = GetUInt64();
                if (value <= int.MaxValue)
                {
                    return((int)value);
                }
            }
            if (type == ValueHandleType.UTF8)
            {
                return(XmlConverter.ToInt32(_bufferReader.Buffer, _offset, _length));
            }
            return(XmlConverter.ToInt32(GetString()));
        }
示例#2
0
        public int ToInt()
        {
            switch (this.type)
            {
            case ValueHandleType.Zero:
                return(0);

            case ValueHandleType.One:
                return(1);

            case ValueHandleType.Int8:
                return(this.GetInt8());

            case ValueHandleType.Int16:
                return(this.GetInt16());

            case ValueHandleType.Int32:
                return(this.GetInt32());

            case ValueHandleType.Int64:
            {
                long num = this.GetInt64();
                if ((num >= -2147483648L) && (num <= 0x7fffffffL))
                {
                    return((int)num);
                }
                break;
            }

            case ValueHandleType.UInt64:
            {
                ulong num2 = this.GetUInt64();
                if (num2 <= 0x7fffffffL)
                {
                    return((int)num2);
                }
                break;
            }

            case ValueHandleType.UTF8:
                return(XmlConverter.ToInt32(this.bufferReader.Buffer, this.offset, this.length));
            }
            return(XmlConverter.ToInt32(this.GetString()));
        }