public ulong ReadHexadecimalUnsignedLong() { Require(1); for (int pos = 0; Request(pos + 1); pos++) { byte b = _easyBuffer.GetByte(pos); if ((b < '0' || b > '9') && (b < 'a' || b > 'f') && (b < 'A' || b > 'F')) { // Non-digit, or non-leading negative sign. if (pos == 0) { throw new FormatException(string.Format( "Expected leading [0-9a-fA-F] character but was %#x", b)); } break; } } return(_easyBuffer.ReadHexadecimalUnsignedLong()); }