为什么转换(到System.Guid类型)语句无效(try块中的第二行)?
例如,假设我有一个值为“5DD52908-34FF-44F8-99B9-0038AFEFDB81”的字符串。我想将其转换为GUID。这不可能吗?
Guid ownerIdGuid = Guid.Empty;
try
{
string ownerId = CallContextData.Current.Principal.Identity.UserId.ToString();
ownerIdGuid = (Guid)ownerId;
}
catch
{
// Implement catch
}
答案 0 :(得分:55)
试试这个:
Guid ownerIdGuid = Guid.Empty;
try
{
string ownerId = CallContextData.Current.Principal.Identity.UserId.ToString();
ownerIdGuid = new Guid(ownerId);
}
catch
{
// implement catch
}
答案 1 :(得分:24)
试试这个:
ownerIdGuid = Guid.Parse(ownerId);
ownerId
是一个字符串,您无法直接将其投放到Guid
。
答案 2 :(得分:7)
您无法直接从string
投射到Guid
。相反,使用:
Guid.Parse
(以无效格式抛出FormatException
);或Guid.TryParse
(无效格式时返回false)答案 3 :(得分:5)
尝试以下方法之一:
Guid.Parse
Guid.TryParse
Gruid.TryParseExact
在.NET 4.0(或3.5)
中答案 4 :(得分:2)
您需要使用Guid.Parse将字符串转换为Guid
答案 5 :(得分:0)
System.Guid x = new System.Guid(“5DD52908-34FF-44F8-99B9-0038AFEFDB81”)可以解决所问的问题
(我知道这是一个老帖子)