10
votes

Y a-t-il une telle chose comme une nullable bool dans vb.net

Je travaille dans mon nouveau livre MVC et bien sûr, les échantillons sont tous en C # comme d'habitude.

Il existe une ligne de code qui dit xxx

L'auteur explique que le point d'interrogation indique qu'il s'agit d'un nullable (Tri-State) Bool qui peut être vrai, faux. ou null. (Une nouvelle convention C # 3.)

vb.net appuyait une convention comme celle-ci. Certainement, je peux déclarer un booléen dans vb.net et je peux l'énoncer explicitement à NULL (rien dans vb.net).

Quelle est la différence. Y a-t-il de plus en C #. Avantages?


0 commentaires

4 Réponses :


27
votes
  1. bool? code> est juste sténographique Syntaxe pour une nullable Type de valeur : IE NULLLABLE CODE> LI>
  2. en vb.net Vous pouvez utiliser un: booléen? code> ou nullable (de booléen) code>. li>.

    Vous pouvez l'écrire comme ceci avec une propriété de support: p> xxx pré>

    ou utilisez simplement un Propriété mise en œuvre automatique comme ceci: p>

    Public Property WillAttend As Boolean?
    


1 commentaires

Merci d'avoir montré la déclaration de propriété aussi ... Cela aurait été la prochaine question.



42
votes

Vous pouvez déclarer une valeur nullable 3 façons de VB: xxx

lecture supplémentaire: MSDN - Nullable Types de valeur (Visual Basic) .


2 commentaires

Hé - je n'ai jamais su que tu pouvais ajouter le? Après le nom de la variable? Joli! J'ai appris quelque chose de nouveau aujourd'hui.


@Seth: Merci pour la sortie. ;-)



0
votes

Nullable est utilisé utilisé sur des types de valeur tels que des INT, des bools et etc. qui ne supportent pas les tâches nulles. Ceci est généralement très pratique lorsque vous retournez des entiers. Si le résultat d'une méthode est invalide, vous pouvez simplement renvoyer une nullable Int défini sur NULL au lieu d'un entier négatif, qui peut finir par être un résultat valide à long terme. C'est à peu près le seul avantage qui vient à l'esprit. D'autres ont affiché comment faire cela dans vb.net. Je n'irai pas dans ça.


0 commentaires

3
votes

Nullables sont disponibles depuis .net 2.0. Dans cette version, les génériques Microsoft implémentés (Nullable est un type générique). Depuis .net 3.0 Vous pouvez utiliser le? Dans vb.net aussi (auparavant, vous n'avez pas pu utiliser nullable (de booléen)).

Ainsi, comme dit par Lucas Aardvark à .NET 3.0 Vous pouvez utiliser 3 déclarations de nullables, mais à .NET 2.0 seulement 1 être xxx


0 commentaires