Pourquoi l'instruction cast (vers un type System.Guid) n'est-elle pas valide (deuxième ligne du bloc try)?
Par exemple, supposons que j'ai une chaîne avec une valeur de "5DD52908-34FF-44F8-99B9-0038AFEFDB81". Je voudrais convertir cela en un GUID. N'est-ce pas possible?
Guid ownerIdGuid = Guid.Empty;
try
{
string ownerId = CallContextData.Current.Principal.Identity.UserId.ToString();
ownerIdGuid = (Guid)ownerId;
}
catch
{
// Implement catch
}
Essaye ça:
Guid ownerIdGuid = Guid.Empty;
try
{
string ownerId = CallContextData.Current.Principal.Identity.UserId.ToString();
ownerIdGuid = new Guid(ownerId);
}
catch
{
// implement catch
}
Essaye ça:
ownerIdGuid = Guid.Parse(ownerId);
ownerId
est une chaîne, vous ne pouvez pas la convertir directement en Guid
.
Vous ne pouvez pas lancer directement de string
à Guid
. Au lieu de cela, utilisez soit:
Guid.Parse
(jette FormatException
sur un format invalide); ouGuid.TryParse
(retourne false si le format n'est pas valide)Essayez l'une de celles-ci:
Guid.Parse
Guid.TryParse
Gruid.TryParseExact
dans .NET 4.0 (ou 3.5)
Vous devez utiliser Guid.Parse pour convertir une chaîne en Guid
System.Guid x = new System.Guid ("5DD52908-34FF-44F8-99B9-0038AFEFDB81") fonctionne et répond à ce qui est demandé.
(Je sais que c'est un ancien post)