是Guid.ToByteArray()跨平台吗?

时间:2014-06-06 12:36:11

标签: c# .net guid

我想将Guids存储在不支持Guid / uniqueidentifier数据类型的数据库中,因此我使用.ToByteArray()方法将Guid转换为字节数组。但是,此方法以存储方式转换值:

11223344-5566-7788-9900-AABBCCDDEEFF
will become
44, 33, 22, 11, 66, 55, 88, 77, 99, 00, AA, BB, CC, DD, EE, FF

据我了解,这是因为字节顺序。

我想知道这个方法是否会在每个平台(86x硬件,64x硬件,Linux,Windows等)上返回相同的结果,并且无论在哪个平台上运行我的软件,都不会有字节顺序的变化。

1 个答案:

答案 0 :(得分:4)

对于你的问题:

  
    

我想知道这个方法是否会返回相同的结果     每个平台(86x硬件,64x硬件,Linux,Windows等)

  
对于所有平台,

它将是相同的

  
    

但是,此方法以存储方式转换值:

  

ToByteArray返回的顺序与字符串表示不同。

请参阅:Guid.ToByteArray Method

  

请注意,返回的字节数组中的字节顺序为   与Guid值的字符串表示形式不同。命令   开头的四字节组和接下来的两个双字节组是   反转,而最后两个字节组的顺序和结束   六字节组是相同的。