static public int ToInt32(byte[] buffer, int offset, int count) { int value; if (TryParseInt32(buffer, offset, count, out value)) return value; return ToInt32(ToString(buffer, offset, count)); }
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())); }