Почему Guid.ToByteArray() упорядочивает байты именно так?C#

Место общения программистов C#
Anonymous
Почему Guid.ToByteArray() упорядочивает байты именно так?

Сообщение Anonymous »

Когда вы вызываете ToByteArray() для GUID в .NET, порядок байтов в результирующем массиве отличается от ожидаемого по сравнению со строковым представлением GUID. Например, для следующего GUID, представленного в виде строки:

Код: Выделить всё

11223344-5566-7788-9900-aabbccddeeff
Результат ToByteArray() следующий:

Код: Выделить всё

44, 33, 22, 11, 66, 55, 88, 77, 99, 00, AA, BB, CC, DD, EE, FF
Обратите внимание, что порядок первых четырех байтов обратный. Также меняются местами байты 4 и 5 и байты 6 и 7. Но последние 8 байтов расположены в том же порядке, что и в строке.

Я понимаю, что это происходит. Мне хотелось бы знать, почему .NET обрабатывает это таким образом.

Для справки: вы можете увидеть некоторые обсуждения и путаницу по этому поводу (неправильно приписываемые базам данных Oracle) здесь и здесь.

Подробнее здесь: https://stackoverflow.com/questions/919 ... ay-it-does

Вернуться в «C#»