Je me demandais - quand voudrais-je utiliser le membre de .Value sur un type nullable au lieu d'appeler la variable elle-même? p>
E.g .. p>
bool? b = vrai; p>
Pourquoi devrais-je utiliser B.Value pour obtenir la valeur au lieu de simplement utiliser b? Quel avantage ou fonction le .value appelle-t-il Ajouter? P>
5 Réponses :
.Value retourne un bool plutôt qu'un bool? qui vous permettra de l'utiliser comme paramètre pour fonctionner qui ne vous attendez pas à des types nullables. P>
La seule différence est qu'ils sont 2 types différents. Si vous avez un Si vous appelez subtil, mais lorsque vous avez besoin de la version non nullable de l'objet, utilisez la propriété .Value. P>
Pour moi, ce n'est pas tant de valeur que la propriété "Hasvalue" que je trouve utile p>
Lorsque vous souhaitez utiliser des méthodes / propriétés du type sous-jacent. Ne s'applique pas vraiment à Bool. Laissez-moi illustrer avec Vous ne pouvez pas accéder à la propriété du mois directement à partir de D, car DateTime? n'a pas cette propriété. p> p> DateTime code>:
La propriété de valeur est en lecture seule et retournera le type de valeur réelle. La propriété Value ne peut jamais être nulle.
Si vous vous attendez à avoir une validation nullable, vérifiez. Vérifiez .HASValue, puis valeur de référence. Par exemple, si vous souhaitez attribuer la valeur d'une nullable à un bool ordinaire, vous devez vous référencer de la valeur: p> Cependant, les ne seront pas em> Compiler: P> bool? nullableBool = true;
bool realBool = nullableBool; // Won't work
Super! Ça a du sens. Merci beaucoup :))