我无法使用C#中的以下格式使用Guid.parse
或Guid.parseExact
来创建新的Guid。对于十六进制,Guid.parseExact
的格式是什么? (我实际上还没有在网上看到一个有效的“格式”实现,但是对于以下格式的十六进制值)
或者,是否有GUID转换器?这样我就可以将这样的格式转换为“常规”十进制格式并更容易解析?
GUID是{{0x1790c9ecL,0x47d5,0x4df3,{{0xb5,0xaf,0x9a,0xdf,0x3c,0xf2,0x3e,0x48}}}}
Guid DEVINTERFACE = Guid.ParseExact(
"{{0x4390c9ecL,0x4125,0x45f3,{{0x55,0xbf,0x9a,0xdf,0x3c,0x42,0x4e,0x42}}}}",
"X");
答案 0 :(得分:4)
括号过多:
var g = Guid.ParseExact(
"{0x1790c9ec,0x47d5,0x4df3,{0xb5,0xaf,0x9a,0xdf,0x3c,0xf2,0x3e,0x48}}", "X");
请注意,如果你这样做:
string s = g.ToString("X");
然后你会回到你的开始:
"{0x1790c9ec,0x47d5,0x4df3,{0xb5,0xaf,0x9a,0xdf,0x3c,0xf2,0x3e,0x48}}"
基本上,您对"X"
格式的理解不正确。
虽然就个人而言,我强烈建议更正常的陈述:
"1790c9ec-47d5-4df3-b5af-9adf3cf23e48" // format "D"
或:
"1790c9ec47d54df3b5af9adf3cf23e48" // format "N"
OR是否有GUID转换器?这样我就可以将这样的格式转换为"常规"十进制格式和解析更容易?
Guids几乎从不以十进制格式显示;这里唯一的区别是大括号,逗号,短划线和前导0x
前缀。 .NET中所有Guid
格式的数据都是十六进制的。