Я не привык манипулировать байтами в моем коде, и у меня есть этот кусок кода, написанный на Java, и мне нужно было бы преобразовать его в его эквивалент C #:
protected static final int putLong(final byte[] b, final int off, final long val) {
b[off + 7] = (byte) (val >>> 0);
b[off + 6] = (byte) (val >>> 8);
b[off + 5] = (byte) (val >>> 16);
b[off + 4] = (byte) (val >>> 24);
b[off + 3] = (byte) (val >>> 32);
b[off + 2] = (byte) (val >>> 40);
b[off + 1] = (byte) (val >>> 48);
b[off + 0] = (byte) (val >>> 56);
return off + 8;
}
Заранее спасибо за вашу помощь, я с нетерпением жду, чтобы извлечь уроки из этого.
Буду также признателен, если существует эквивалент C # для функции Java:
Double.doubleToLongBits(val);
edit: нашел ответ на мой второй вопрос: BitConverter.DoubleToInt64Bits