2010-11-01 35 views
1

J'ai récemment converti un tas de tables PK de int à uniqueidentifier. Maintenant, dans mon code que je remplaçais certains contrôles comme ceci:myVariable (int) == 0 même que myVariable (Guid) == Guid.Empty

if (planDiagnosisID != 0) 

avec

if (planDiagnosisID != Guid.Empty) 

planDiagnosisID est un int dans la première et un Guid dans le second.

Est-ce exact?

+0

Oui, il est. Je ne crois pas que 'UniqueIdentifier' produira jamais le zéro-GUID, car la valeur zéro est généralement réservée pour une valeur de clé spéciale. –

Répondre

5

Oui, c'est correct. Guid.Empty est la valeur par défaut pour Guid. C'est un type de valeur, donc il ne peut pas être null.

Ou dans le code

default(Guid) == Guid.Empty 

Tout comme

default(int) == 0