object obj = "3FB62645 - AEF9 - 450E-8B60 - 95C287F71C1A"; Guid guid = Guid.Parse(obj.ToString()); 报错提示guid的格式不对
时间: 2024-02-21 11:58:37 浏览: 173
这是因为你要转换的字符串格式不符合 GUID 的规范。GUID 是一个 32 位的十六进制数字,由 8 个十六进制数字、4 个短横线和另外 8 个十六进制数字组成。在你提供的字符串中,有空格和短横线之间缺少了连字符,因此无法正确解析为 GUID。
你需要将字符串中的空格和短横线去掉,并加上短横线,然后再进行 GUID 的解析,示例代码如下:
```
object obj = "3FB62645-AEF9-450E-8B60-95C287F71C1A";
Guid guid = Guid.Parse(obj.ToString());
```
这样就可以正确地将字符串转换为 GUID 类型了。
相关问题
object obj = keys; Guid guid = Guid.Parse(obj.ToString());报错提示System.FormatException:“Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).”
这是因为 `keys` 对象的类型不是字符串,而是一个数组或集合等其他类型,无法直接转换为字符串。因此,你需要将其转换为字符串后再进行 GUID 解析。
你可以使用 `string.Join` 方法将数组或集合中的元素连接为一个字符串,示例代码如下:
```
object[] keys = { "3FB62645-AEF9-450E-8B60-95C287F71C1A", "3FB62645-AEF9-450E-8B60-95C287F71C1B" };
string keysString = string.Join(",", keys);
Guid guid = Guid.Parse(keysString);
```
这样就可以将 `keys` 对象中的所有元素连接为一个以逗号分隔的字符串,然后再进行 GUID 解析。如果你的 `keys` 对象是一个集合类对象,可以使用 `string.Join` 方法的重载版本,将集合中的元素连接为一个字符串。
阅读全文
相关推荐













