Partage via


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.

Voir aussi