我没有为Guid找到TryParse方法.我想知道其他人如何处理将字符串格式的guid转换为guid类型.
Guid Id; try { Id = new Guid(Request.QueryString["id"]); } catch { Id = Guid.Empty; }
leppie.. 281
new Guid(string)
你也可以看一下使用TypeConverter
.
new Guid(string)
你也可以看一下使用TypeConverter
.
使用这样的代码:
new Guid("9D2B0228-4D0D-4C23-8B49-01A698857709")
而不是"9D2B0228-4D0D-4C23-8B49-01A698857709"你可以设置你的字符串值
Guid.TryParse()
https://msdn.microsoft.com/de-de/library/system.guid.tryparse(v=vs.110).aspx
要么
Guid.TryParseExact()
https://msdn.microsoft.com/de-de/library/system.guid.tryparseexact(v=vs.110).aspx
在.NET 4.0(或3.5?)
这将使你非常接近,我在生产中使用它,从未发生过碰撞.但是,如果你在反射器中查看guid的构造函数,你将看到它所做的所有检查.
public static bool GuidTryParse(string s, out Guid result) { if (!String.IsNullOrEmpty(s) && guidRegEx.IsMatch(s)) { result = new Guid(s); return true; } result = default(Guid); return false; } static Regex guidRegEx = new Regex("^[A-Fa-f0-9]{32}$|" + "^({|\\()?[A-Fa-f0-9]{8}-([A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}(}|\\))?$|" + "^({)?[0xA-Fa-f0-9]{3,10}(, {0,1}[0xA-Fa-f0-9]{3,6}){2}, {0,1}({)([0xA-Fa-f0-9]{3,4}, {0,1}){7}[0xA-Fa-f0-9]{3,4}(}})$", RegexOptions.Compiled);