ins*_*ide 12 c# parsing guid .net-4.0
我想从输入字符串生成GUID.假设我收到了来自用户的guid
81a130d2-502f-4cf1-a376-63edeb000e9f
Run Code Online (Sandbox Code Playgroud)
所以我可以这样做:
Guid g = Guid.Parse("81a130d2-502f-4cf1-a376-63edeb000e9f");
Run Code Online (Sandbox Code Playgroud)
这将成功解析.
但是如何让用户的生活更轻松,并允许输入:
81a130d2502f4cf1a37663edeb000e9f
Run Code Online (Sandbox Code Playgroud)
没有破折号,仍然将其转换为guid.
如果我将尝试使用相同的方法,它将抛出异常抱怨guid格式中丢失的虚线.
有任何想法吗?
Dan*_*ite 26
尝试
Guid.ParseExact("81a130d2502f4cf1a37663edeb000e9f", "N");
Run Code Online (Sandbox Code Playgroud)
mlo*_*ske 16
除了ParseExact("N"作为第二个参数),您可以改为使用Guid接受字符串的构造函数的重载; 它允许您指定您的值而不用破折号.
Guid g = new Guid("81a130d2502f4cf1a37663edeb000e9f");
Run Code Online (Sandbox Code Playgroud)
使用ParseExact方法:
Guid.ParseExact("81a130d2502f4cf1a37663edeb000e9f","N")
Run Code Online (Sandbox Code Playgroud)