从不是guid格式的字符串生成GUID

时间:2013-05-24 17:24:36

标签: c# parsing .net-4.0 guid

我想从输入字符串生成GUID。假设我收到了来自用户的guid

81a130d2-502f-4cf1-a376-63edeb000e9f

所以我可以这样做:

 Guid g = Guid.Parse("81a130d2-502f-4cf1-a376-63edeb000e9f");

将成功解析。

但如何让用户的生活更轻松并允许输入:

81a130d2502f4cf1a37663edeb000e9f

没有破折号,仍然将其转换为guid。

如果我尝试使用相同的方法,它会抛出异常抱怨guid格式中丢失的虚线。

有什么想法吗?

3 个答案:

答案 0 :(得分:23)

尝试

Guid.ParseExact("81a130d2502f4cf1a37663edeb000e9f", "N");

答案 1 :(得分:13)

除了ParseExact"N"作为第二个参数)之外,您还可以使用接受字符串的Guid构造函数的重载;它允许你指定你的值而不用破折号。

Guid g = new Guid("81a130d2502f4cf1a37663edeb000e9f");

答案 2 :(得分:5)

使用ParseExact方法:

Guid.ParseExact("81a130d2502f4cf1a37663edeb000e9f","N")