当前位置:  开发笔记 > 编程语言 > 正文

如何尝试将字符串转换为Guid

如何解决《如何尝试将字符串转换为Guid》经验,为你挑选了4个好方法。

我没有为Guid找到TryParse方法.我想知道其他人如何处理将字符串格式的guid转换为guid类型.

Guid Id;
try
{
    Id = new Guid(Request.QueryString["id"]);
}
catch
{
    Id = Guid.Empty;
}

leppie.. 281

new Guid(string)

你也可以看一下使用TypeConverter.



1> leppie..:
new Guid(string)

你也可以看一下使用TypeConverter.


具体来说,它是一个内置的GUIDConverter .http://msdn.microsoft.com/en-us/library/system.componentmodel.guidconverter.aspx
TypeDescriptor.GetConverter(typeof运算(GUID))

2> Behrooz..:

使用这样的代码:

new Guid("9D2B0228-4D0D-4C23-8B49-01A698857709")

而不是"9D2B0228-4D0D-4C23-8B49-01A698857709"你可以设置你的字符串值



3> juFo..:
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?)



4> Brian Rudolp..:

这将使你非常接近,我在生产中使用它,从未发生过碰撞.但是,如果你在反射器中查看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);

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有