Когда вы вызываете 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) здесь и здесь.