当进入下面的代码到C#即时窗口,它产生一些不寻常的结果,这是我只能假设是因为内部,System.Guid
翻转一定字节数:为什么System.Guid翻转字节数组中的字节?
当使用从0序字节数组15
new Guid(new byte[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15})
[03020100-0504-0706-0809-0a0b0c0d0e0f]
当使用带值的非顺序的字节数组0-15
new Guid(new byte[] {3, 2, 1, 0, 5, 4, 7, 6, 8, 9, 10, 11, 12, 13, 14, 15})
[00010203-0405-0607-0809-0a0b0c0d0e0f]
为什么前3组翻转?
大端,小端。英特尔设计微处理器的方式决定了字节顺序。英特尔在那里设计了micro的速度和交换字节顺序,使得微型计算机运行更快。微软只是遵循了英特尔规范。 – jdweng
另请参阅https://stackoverflow.com/questions/9195551/why-does-guid-tobytearray-order-the-bytes-the-way-it-does?rq=1 – schnaader