Not, opérateur (Visual Basic)
Effectue une négation logique sur une expression Boolean
, ou une négation au niveau du bit sur une expression numérique.
Syntaxe
result = Not expression
Éléments
result
Obligatoire. Toute expression Boolean
ou numérique.
expression
Obligatoire. Toute expression Boolean
ou numérique.
Notes
Pour les expressions Boolean
, le tableau suivant illustre la façon dont result
est déterminé.
Si expression est |
La valeur de result est |
---|---|
True |
False |
False |
True |
Pour les expressions numériques, l’opérateur Not
inverse les valeurs de bits d’une expression numérique et définit le bit correspondant dans result
selon le tableau suivant.
Si le bit dans expression est |
Le bit dans result est |
---|---|
1 | 0 |
0 | 1 |
Notes
Étant donné que les opérateurs logiques et au niveau du bit ont une priorité inférieure à d’autres opérateurs arithmétiques et relationnels, toutes les opérations au niveau du bit doivent être placées entre parenthèses pour garantir l’exécution précise.
Remarquez que, si Not someStr?.Contains("some string")
ou toute autre valeur évaluée comme Boolean?
, ayant la valeur nothing
ou HasValue=false
entraîne l’exécution du bloc else
. L’évaluation suit l’évaluation SQL où null/nothing n’est pas égal à n’importe quelle valeur (anything), pas même une autre valeur null/nothing.
Data types
Pour une négation booléenne, le type de données du résultat est Boolean
. Pour une négation au niveau du bit, le type de données de résultat est identique à celui de expression
. Toutefois, si l’expression est Decimal
, le résultat est Long
.
Surcharge
L’opérateur Not
peut être surchargé, ce qui signifie qu’une classe ou une structure peut redéfinir son comportement lorsque son opérande présente le type de cette classe ou structure. Si votre code utilise cet opérateur sur ce type de classe ou structure, veillez à comprendre son comportement une fois qu’il est redéfini. Pour plus d'informations, consultez Operator Procedures.
Exemple 1
L’exemple suivant utilise l’opérateur Not
pour effectuer une négation logique sur une expression Boolean
. Le résultat est une valeur Boolean
qui représente l’inverse de la valeur de l’expression.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = Not (a > b)
secondCheck = Not (b > a)
L’exemple précédent produit des résultats de False
, et True
, respectivement.
Exemple 2
L’exemple suivant utilise l’opérateur Not
pour effectuer la négation logique des bits individuels d’une expression numérique. Le bit du modèle de résultat est défini sur l’inverse du bit correspondant dans le modèle d’opérande, y compris le bit de signe.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (Not a)
secondPattern = (Not b)
thirdPattern = (Not c)
L’exemple précédent produit respectivement les résultats de –11, –9 et –7.