Citant une réponse de this question.
Guid est un type de valeur, donc une variable de type Guid ne peut pas être nulle pour commencer.
Et si je vois ça?
public Nullable<System.Guid> SomeProperty { get; set; }
comment dois-je vérifier si cela est nul? Comme ça?
(SomeProperty == null)
ou comme ça?
(SomeProperty == Guid.Empty)
SomeProperty.HasValue Je pense que c'est ce que vous recherchez.
EDIT: btw, vous pouvez écrire System.Guid?
au lieu de Nullable<System.Guid>
;)
Si vous voulez être sûr, vous devez vérifier les deux
SomeProperty == null || SomeProperty == Guid.Empty
Parce qu'il peut être null 'Nullable' et ce peut être un GUID quelque chose comme ça {00000000-0000-0000-0000-000000000000} vide
Notez que HasValue
renverra true pour un Guid
vide.
bool validGuid = SomeProperty.HasValue && SomeProperty != Guid.Empty;
Vérifier Nullable<T>.HasValue
if(!SomeProperty.HasValue ||SomeProperty.Value == Guid.Empty)
{
//not valid GUID
}
else
{
//Valid GUID
}
Vous devez utiliser la propriété HasValue
:
SomeProperty.HasValue
Par exemple:
if (SomeProperty.HasValue)
{
// Do Something
}
else
{
// Do Something Else
}
FYI
public Nullable<System.Guid> SomeProperty { get; set; }
est équivalent à:
public System.Guid? SomeProperty { get; set; }
La référence MSDN: http://msdn.Microsoft.com/en-us/library/sksw8094.aspx