atualização para 2018return Guid.TryParse(value, out var _);
waitforit
7
Um GUID é um número de 16 bytes (128 bits), normalmente representado por uma seqüência hexadecimal de 32 caracteres. Um GUID (em formato hexadecimal) não precisa conter nenhum caractere alfa, embora provavelmente contenha. Se você tem como alvo um GUID em formato hexadecimal, pode verificar se a string tem 32 caracteres (depois de retirar os traços e chaves) e tem apenas letras AF e números.
Há um certo estilo de apresentação de GUIDs (posicionamento do traço) e expressões regulares podem ser usadas para verificar isso, por exemplo,
Não há garantia de que um GUID contenha caracteres alfabéticos. FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFé um GUID válido 00000000-0000-0000-0000-000000000000e qualquer coisa entre eles.
Se estiver usando o .NET 4.0, você pode usar a resposta acima para o Guid.Parse e Guid.ExperimenteParse. Caso contrário, você pode fazer algo assim:
Respostas:
Veja se isso ajuda: -
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
fonte
Quando estou apenas testando uma string para ver se é um GUID, realmente não quero criar um objeto Guid de que não preciso. Assim...
E aqui está como você o usa:
fonte
return Guid.TryParse(value, out var _);
Um GUID é um número de 16 bytes (128 bits), normalmente representado por uma seqüência hexadecimal de 32 caracteres. Um GUID (em formato hexadecimal) não precisa conter nenhum caractere alfa, embora provavelmente contenha. Se você tem como alvo um GUID em formato hexadecimal, pode verificar se a string tem 32 caracteres (depois de retirar os traços e chaves) e tem apenas letras AF e números.
Há um certo estilo de apresentação de GUIDs (posicionamento do traço) e expressões regulares podem ser usadas para verificar isso, por exemplo,
de http://www.geekzilla.co.uk/view8AD536EF-BC0D-427F-9F15-3A1BC663848E.htm . Dito isso, deve-se enfatizar que o GUID é realmente um número de 128 bits e pode ser representado de várias maneiras diferentes.
fonte
Não há garantia de que um GUID contenha caracteres alfabéticos.
FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
é um GUID válido00000000-0000-0000-0000-000000000000
e qualquer coisa entre eles.Se estiver usando o .NET 4.0, você pode usar a resposta acima para o Guid.Parse e Guid.ExperimenteParse. Caso contrário, você pode fazer algo assim:
fonte
Com base na resposta aceita, criei um método de extensão da seguinte forma:
Onde "MagicNumbers.defaultGuid" é apenas "um Guid vazio" totalmente zero "00000000-0000-0000-0000-000000000000".
No meu caso, retornar esse valor como resultado de uma conversão inválida de ToGuid não foi um problema.
fonte
consulte http://en.wikipedia.org/wiki/Globally_unique_identifier
Não há garantia de que um alfa realmente estará lá.
fonte
Retornará o Guid se for um Guid válido, senão retornará Guid.Empty
fonte
fonte
Use a funcionalidade padrão do construtor GUID
fonte