actualización para 2018return Guid.TryParse(value, out var _);
espere el
7
Un GUID es un número de 16 bytes (128 bits), normalmente representado por una cadena hexadecimal de 32 caracteres. Un GUID (en formato hexadecimal) no necesita contener ningún carácter alfabético, aunque por casualidad probablemente lo haría. Si está apuntando a un GUID en forma hexadecimal, puede verificar que la cadena tenga 32 caracteres (después de quitar los guiones y los corchetes) y solo tenga letras AF y números.
Existe cierto estilo de presentación de GUID (colocación de guiones) y se pueden usar expresiones regulares para verificar esto, por ejemplo,
No hay garantía de que un GUID contenga caracteres alfabéticos. FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFes un GUID válido, por lo que es 00000000-0000-0000-0000-000000000000y cualquier cosa intermedia.
Si está utilizando .NET 4.0, puede utilizar la respuesta anterior para Guid.Parse y Guid.TryParse. De lo contrario, puede hacer algo como esto:
Respuestas:
Vea si esto ayuda: -
Guid guidResult = Guid.Parse(inputString)
( http://msdn.microsoft.com/en-us/library/system.guid.parse.aspx )
bool isValid = Guid.TryParse(inputString, out guidOutput)
http://msdn.microsoft.com/en-us/library/system.guid.tryparse.aspx
fuente
Cuando solo estoy probando una cadena para ver si es un GUID, realmente no quiero crear un objeto Guid que no necesito. Entonces...
Y así es como se usa:
fuente
return Guid.TryParse(value, out var _);
Un GUID es un número de 16 bytes (128 bits), normalmente representado por una cadena hexadecimal de 32 caracteres. Un GUID (en formato hexadecimal) no necesita contener ningún carácter alfabético, aunque por casualidad probablemente lo haría. Si está apuntando a un GUID en forma hexadecimal, puede verificar que la cadena tenga 32 caracteres (después de quitar los guiones y los corchetes) y solo tenga letras AF y números.
Existe cierto estilo de presentación de GUID (colocación de guiones) y se pueden usar expresiones regulares para verificar esto, por ejemplo,
de http://www.geekzilla.co.uk/view8AD536EF-BC0D-427F-9F15-3A1BC663848E.htm . Dicho esto, debe enfatizarse que el GUID realmente es un número de 128 bits y podría representarse de varias formas diferentes.
fuente
No hay garantía de que un GUID contenga caracteres alfabéticos.
FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
es un GUID válido, por lo que es00000000-0000-0000-0000-000000000000
y cualquier cosa intermedia.Si está utilizando .NET 4.0, puede utilizar la respuesta anterior para Guid.Parse y Guid.TryParse. De lo contrario, puede hacer algo como esto:
fuente
Según la respuesta aceptada, creé un método de extensión de la siguiente manera:
Donde "MagicNumbers.defaultGuid" es simplemente "un Guid vacío" todo cero "00000000-0000-0000-0000-000000000000".
En mi caso, devolver ese valor como resultado de una conversión ToGuid no válida no fue un problema.
fuente
ver http://en.wikipedia.org/wiki/Globally_unique_identifier
No hay garantía de que un alfa realmente esté allí.
fuente
Devolverá el Guid si es válido; de lo contrario, devolverá el Guid.
fuente
fuente
Usar la funcionalidad estándar del constructor GUID
fuente