web-dev-qa-db-fra.com

Comment utiliser Guids en C #?

Ce code:

Something = new Guid() 

revient:

00000000-0000-0000-0000-000000000000

tout le temps et je ne peux pas dire pourquoi? Alors pourquoi?

86
Ante

Vous devez utiliser Guid.NewGuid()

146
Will Dean

Juste une explication rapide de la raison pour laquelle vous devez appeler NewGuid au lieu d'utiliser le constructeur par défaut ... Dans .NET, toutes les structures (types de valeur comme int, décimal, Guid, DateTime, etc.) doivent avoir un constructeur sans paramètre par défaut qui initialise tout 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 faire un cas spécial pour Guid ou d'en faire une classe, ils utilisent la méthode NewGuid pour générer un nouveau Guid "aléatoire".

61
Josh

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();
12
DOK

something = new Guid() est égal à something = Guid.Empty.

Utilisez Guid.NewGuid(); à la place

4
Will Yu
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();
3
Leo