在VB.Net中将字符串转换为Guid

时间:2012-07-10 02:31:33

标签: asp.net vb.net casting guid

我有Guid“UserID”,它需要填充Session(“UserID”),这是一个String,但格式化为完美转换为Guid。

如果我试试这个,“无法将类型字符串转换为类型Guid”

       Dim UserID As New Guid()
       If HttpContext.Current.Session("UserID") IsNot Nothing Then
          UserID = HttpContext.Current.Session("UserID")
       End If

如果我尝试这个“无法将类型字符串转换为类型Guid”

       Dim UserID As New Guid()
       If HttpContext.Current.Session("UserID") IsNot Nothing Then
          UserID = DirectCast(HttpContext.Current.Session("UserID"), Guid)
       End If

这将字符串完美地转换为Guid,但在If语句

之外无法访问
       If HttpContext.Current.Session("UserID") IsNot Nothing Then
         Dim UserID As new Guid(HttpContext.Current.Session("UserID"))
       End If

我无法弄清楚如何在If语句之外定义UserID,然后有条件地分配它

1 个答案:

答案 0 :(得分:8)

试试这个

Dim UserID As New Guid()
If HttpContext.Current.Session("UserID") IsNot Nothing Then
    UserID = Guid.Parse(HttpContext.Current.Session("UserID").ToString())
End If

万一你感到困惑,考虑到这一点,除非我的记忆失败,Guid构造函数将生成一个“空”的guid。如果您想使用Guid.NewGuid()

生成新的guid