J'ai récupéré du code d'un collègue, et dans l'une de ses méthodes il a un paramètre booléen: ByVal showProactiveChases As Boolean?
. J'ai dû chercher l'opérateur ?
hier pour voir qu'il indique un type Nullable. Ma question est, si je la change en: ByVal showProactiveChases As Nullable(Of Boolean)
, est-ce que le sens reste le même? Je pense que pourvu que cela ne change pas le sens de la seconde façon est beaucoup plus lisible.Marquage des paramètres comme Nullable
1
A
Répondre
3
Oui, la signification est exactement la même.
Boolean?
et Nullable(Of Boolean)
seront compilés exactement à la même IL.
(Personnellement, je trouve la première version plus lisible, mais il est tout goût personnel.)
0
Oui, il est le même.
? est le raccourci pour Nullable<T>
0
Oui, le? L'opérateur est en fait un raccourci pour Nullable ou Nullable (Of T).
2
L'exemple suivant construit un type booléen nullable et déclare une variable de ce type. Vous pouvez écrire la déclaration de trois façons:
Dim ridesBusToWork1? As Boolean Dim ridesBusToWork2 As Boolean? Dim ridesBusToWork3 As Nullable(Of Boolean)