5

我有 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,然后有条件地分配它

4

1 回答 1

10

试试这个

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,请使用Guid.NewGuid()

于 2012-07-10T02:35:04.390 回答