public long LongValue() { long val = 0; val = (long)data[0]; try { // exception if maxLength = 1 val |= (long)data[1] << 32; } catch (Exception) { if ((data[0] & 0x80000000) != 0) // negative val = (int)data[0]; } return val; }