18

我想从输入字符串生成一个 GUID。假设我从用户那里收到了 guid

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

所以我可以这样做:

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

这将成功解析。

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

81a130d2502f4cf1a37663edeb000e9f

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

如果我尝试使用相同的方法,它将抛出异常,抱怨在 guid 格式中缺少虚线。

有任何想法吗?

4

3 回答 3

39

尝试

Guid.ParseExact("81a130d2502f4cf1a37663edeb000e9f", "N");
于 2013-05-24T17:27:21.663 回答
20

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

Guid g = new Guid("81a130d2502f4cf1a37663edeb000e9f");
于 2013-05-24T17:32:42.870 回答
6

使用ParseExact方法:

Guid.ParseExact("81a130d2502f4cf1a37663edeb000e9f","N")
于 2013-05-24T17:27:51.413 回答