public static int ToHex(ulong value, char[] hexBuffer, int offset)
{
if (hexBuffer == null) throw new ArgumentNullException("hexBuffer");
if (offset < 0) throw new ArgumentOutOfRangeException("offset");
const int maxLength = 16;
if (value == 0)
{
for (var i = 0; i < maxLength; i++)
hexBuffer[i] = '0';
}
else
{
hexBuffer[offset + 0] = HexChar[(value >> 4) & 15u];
hexBuffer[offset + 1] = HexChar[value & 15u];
hexBuffer[offset + 2] = HexChar[(value >> 4 * 3) & 15u];
hexBuffer[offset + 3] = HexChar[(value >> 4 * 2) & 15u];
hexBuffer[offset + 4] = HexChar[(value >> 4 * 5) & 15u];
hexBuffer[offset + 5] = HexChar[(value >> 4 * 4) & 15u];
hexBuffer[offset + 6] = HexChar[(value >> 4 * 7) & 15u];
hexBuffer[offset + 7] = HexChar[(value >> 4 * 6) & 15u];
hexBuffer[offset + 8] = HexChar[(value >> 4 * 9) & 15u];
hexBuffer[offset + 9] = HexChar[(value >> 4 * 8) & 15u];
hexBuffer[offset + 10] = HexChar[(value >> 4 * 11) & 15u];
hexBuffer[offset + 11] = HexChar[(value >> 4 * 10) & 15u];
hexBuffer[offset + 12] = HexChar[(value >> 4 * 13) & 15u];
hexBuffer[offset + 13] = HexChar[(value >> 4 * 12) & 15u];
hexBuffer[offset + 14] = HexChar[(value >> 4 * 15) & 15u];
hexBuffer[offset + 15] = HexChar[(value >> 4 * 14) & 15u];
}
return maxLength;
}
public static int ToHex(uint value, char[] hexBuffer, int offset)