new - system.guid c# example
No se puede convertir cadena a GUID en C#.NET (6)
Esta pregunta ya tiene una respuesta aquí:
- Prueba si string es un guid sin tirar excepciones? 18 respuestas
¿Por qué la sentencia de conversión (a un tipo de Guía de sistema) no es válida (segunda línea en el bloque de prueba)?
Por ejemplo, supongamos que tengo una cadena con un valor de "5DD52908-34FF-44F8-99B9-0038AFEFDB81". Me gustaría convertir eso a un GUID. ¿No es eso posible?
Guid ownerIdGuid = Guid.Empty;
try
{
string ownerId = CallContextData.Current.Principal.Identity.UserId.ToString();
ownerIdGuid = (Guid)ownerId;
}
catch
{
// Implement catch
}
Necesita usar Guid.Parse para convertir de cadena a Guid
No puedes convertir directamente de string
a Guid
. En su lugar, use cualquiera de los siguientes:
-
Guid.Parse
(arrojaFormatException
en formato no válido); o -
Guid.TryParse
(devuelve falso en formato no válido)
Prueba esto:
Guid ownerIdGuid = Guid.Empty;
try
{
string ownerId = CallContextData.Current.Principal.Identity.UserId.ToString();
ownerIdGuid = new Guid(ownerId);
}
catch
{
// implement catch
}
Prueba esto:
ownerIdGuid = Guid.Parse(ownerId);
ownerId
es una cadena, no puedes convertirla en una Guid
directamente.
Pruebe uno de estos:
Guid.Parse
Guid.TryParse
Gruid.TryParseExact
en .NET 4.0 (o 3.5)
System.Guid x = new System.Guid ("5DD52908-34FF-44F8-99B9-0038AFEFDB81") funciona y responde lo que se está preguntando
(Sé que esta es una publicación anterior)