c# - Guid.ParseExact 抛出 FormatException C# 十六进制

标签 c# guid

我无法使用 Guid.parse 创建新的 Guid或 Guid.parseExact在 C# 中使用以下格式。 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");

最佳答案

括号太多:

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 is there a GUID converter? So that I can convert formats like this to "regular" decimal format and parse easier?

指南实际上从不以十进制格式显示;这里唯一的区别是大括号、逗号、破折号和前导 0x 前缀。 .NET 中所有 Guid 格式的数据都是十六进制。

关于c# - Guid.ParseExact 抛出 FormatException C# 十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22596559/

相关文章:

algorithm - GUID 是如何生成的并且始终是唯一的?

sql-server - SQL Server 中的短 guid/从字符串转换为 uniqueidentifier

c# - 在 C# 中执行/打开程序

c# - 在我应该使用流之前在 WCF 中传输了多少字节?

C# Entity-Framework : How can I combine a . 查找并包含模型对象?

c# - 如何在 C# 打印文档中设置和打印自定义纸张尺寸?

guid - 不带连字符的 GUID 安全吗?

random - 亚马逊如何生成订单号?

c# - 如何使用 C# 使用可以在图层模型中更改的参数从数据库中获取特定字符串

c# - 如何创建确定性指南