115 votes

générer un GUID sans trait d'union

Je génère un GUID en utilisant l'instruction suivante dans mon code

byte[ ] keyBytes = Encoding.UTF8.GetBytes( Guid.NewGuid( ).ToString( ).Substring( 0, 12 ) );

Mais, lorsqu'un GUID est généré, je constate qu'il contient également le caractère tiret. Comment puis-je générer un GUID avec uniquement des lettres (majuscules et minuscules) et des chiffres ? Je ne veux pas du trait d'union. Quelqu'un peut-il me donner une idée ?

291voto

Christian.K Points 18883

Notez que vous parlez de la représentation (canonique) en chaîne d'un Guid. Le Guid lui-même est en fait une valeur entière de 128 bits.

Vous pouvez utiliser le spécificateur "N" avec la commande Guid.ToString(String) surcharge.

Guid.NewGuid().ToString("N");

Par défaut, les lettres sont en minuscules. Un guide avec uniquement des lettres majuscules ne peut être obtenu qu'en les convertissant manuellement toutes en majuscules, par exemple :

Guid.NewGuid().ToString("N").ToUpper();

Un guide avec seulement des lettres ou des chiffres n'a aucun sens. La représentation d'une chaîne guidée est hexadécimale, et donc contiendra toujours (ou très probablement) les deux.

0voto

Bonshington Points 2111
Guid.NewGuid().ToString().Replace("-", string.Empty)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X