Comment utiliser les Guids en C #?


Réponses:



61

Juste une explication rapide de la raison pour laquelle vous devez appeler NewGuid plutôt que d'utiliser le constructeur par défaut ... Dans .NET, toutes les structures (types de valeur comme int, decimal, Guid, DateTime, etc.) doivent avoir un constructeur sans paramètre par défaut qui initialise tous les champs à leur valeur par défaut. Dans le cas de Guid, les octets qui composent le Guid sont tous nuls. Plutôt que de créer un cas particulier pour Guid ou d'en faire une classe, ils utilisent la méthode NewGuid pour générer un nouveau Guid "aléatoire".


12

C'est dedans System.Guid.

Pour créer dynamiquement un GUID dans le code:

Guid messageId = System.Guid.NewGuid();

Pour voir sa valeur:

string x = messageId.ToString();

Oui, il devrait être là ( msdn.microsoft.com/en-us/library/system.guid_members.aspx ) mais je ne peux pas l'utiliser. Pourquoi?
Ante

"Je ne peux pas l'utiliser" - que se passe-t-il lorsque vous essayez de l'utiliser? Tapez-le manuellement (il y a peut-être un problème avec votre intellisense) et essayez de compiler - obtenez-vous des erreurs de compilation?
Matt Brindley

Que voulez-vous dire quand vous dites que vous ne pouvez pas l'utiliser? Si vous tapez Guid x = System.Guid.NewGuid () et compilez, obtenez-vous une erreur? Ou n'aimez-vous pas la valeur que vous obtenez pour x?
DOK

LOL oui, l'algorithme Guid a parfois besoin d'un nouveau redémarrage. Soupir.
Josh

4

something = new Guid()égale something = Guid.Empty.

Utilisez Guid.NewGuid();plutôt


3
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.