.net 为什么guid有特殊的格式?

.net 为什么guid有特殊的格式?,.net,format,guid,digits,.net,Format,Guid,Digits,可能重复: 我一直在寻找GUID的生成和处理,想知道为什么微软会选择这些“奇怪”的格式 指示如何格式化此Guid值的单个格式说明符。格式参数可以是“N”、“D”、“B”、“P”或“X”。如果格式为null或空字符串(“”),则使用“D” 说什么 格式标志如下所示: N:32位=00000000000000000000 D:由连字符分隔的32位数字=00000000-0000-0000-0000-00000000 B:用连字符分隔的32位数字,用大括号括起来= {00000000-0000-00

可能重复:

我一直在寻找GUID的生成和处理,想知道为什么微软会选择这些“奇怪”的格式

指示如何格式化此Guid值的单个格式说明符。格式参数可以是“N”、“D”、“B”、“P”或“X”。如果格式为null或空字符串(“”),则使用“D”

说什么

格式标志如下所示:

N:32位=00000000000000000000

D:由连字符分隔的32位数字=00000000-0000-0000-0000-00000000

B:用连字符分隔的32位数字,用大括号括起来= {00000000-0000-0000-0000-000000000000}

p:用连字符分隔的32位数字,用括号括起来= (00000000-0000-0000-0000-000000000000)

X:四个十六进制值用大括号括起来,其中第四个 值是八个十六进制数的子集 也包含在大括号中的值 ={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}

为什么

为什么不是00000000-00000000-00000000-00000000

或0000-0000-0000-0000-0000-0000-0000-0000-0000-0000-0000


除了微软,还有谁有好的答案吗o)

UUID/GUID具有根据的标准表示形式。更简单的解释。

“这是Microsoft”甚至不是一个好答案,因为GUID只是Microsoft对UUID标准(通用唯一标识符)的实现,UUID标准定义了相同的格式。抱歉,twitchy“close”finger,不是那个问题的重复。顺便说一句,我以前不知道guid实际上有关联的格式字符串。这是否意味着
Guid.Parse
或其他类似工具可以采用与Guid相反的格式字符串,而不是在转换字符串之前手动将连字符等插入到字符串中我也希望我能投票不关闭,所以我能做的最好是+1。看看这里:谢谢大家,它并没有真正回答我最初的问题:不同的格式怎么了,但@loan为我提供了解释它的链接。谢谢你的努力。+1:特别是,请看第3页。谢谢你的回答,这比我不认为的“完全复制”这句话更能说明问题。至少我现在得到了答案。