And, opérateur (Visual Basic)

Mise à jour : novembre 2007

Effectue une conjonction logique sur deux expressions Boolean ou une conjonction d'opérations de bits sur deux expressions numériques.

result = expression1 And expression2

Éléments

  • result
    Requis. Toute expression Boolean ou numérique. Pour une comparaison Boolean, result est la conjonction logique de deux valeurs Boolean. Pour les opérations de bits, result est une valeur numérique représentant la conjonction d'opérations de bits de deux modèles binaires numériques.

  • expression1
    Requis. Toute expression Boolean ou numérique.

  • expression2
    Requis. Toute expression Boolean ou numérique.

Notes

Pour la comparaison Boolean, result a la valeur True si et seulement si expression1 et expression2 ont la valeur True. Le tableau suivant illustre la manière dont result est déterminé.

Si expression1 a la valeur

Et expression2 a la valeur

La valeur de result est

True

True

True

True

False

False

False

True

False

False

False

False

Remarque :

Dans la comparaison Boolean, l'opérateur And évalue toujours les deux expressions qui pourraient inclure des appels de procédure. L'opérateur AndAlso effectue un court-circuit, ce qui signifie que si expression1 a la valeur False, alors expression2 n'est pas évalué.

Lorsqu'il est appliqué à des valeurs numériques, l'opérateur And effectue une comparaison d'opérations des bits de position identique dans deux expressions numériques et définit le bit correspondant dans result d'après le tableau suivant :

Si le bit dans expression1 a la valeur

Et si le bit dans expression2 a la valeur

Le bit dans result a la valeur

1

1

1

1

0

0

0

1

0

0

0

0

Remarque :

Compte tenu que les opérateurs logiques et de bits ont une priorité inférieure à celle des opérateurs arithmétiques et relationnels, toutes les opérations au niveau du bit doivent être mises entre parenthèses afin de garantir des résultats précis.

Types de données

Si les opérandes se composent d'une expression Boolean et d'une expression numérique, Visual Basic convertit l'expression Boolean en une valeur numérique (–1 pour True et 0 pour False) et exécute une opération au niveau du bit.

Pour une comparaison Boolean, le type de données du résultat est Boolean. Pour une comparaison de bits, le type de données du résultat est un type numérique approprié pour les types de données de expression1 et expression2. Consultez le tableau « Relational and Bitwise Comparisons » dans Types de données des résultats d'opérateur.

Remarque :

L'opérateur And peut être surchargé, ce qui signifie qu'une classe ou une structure peut redéfinir son comportement lorsqu'un opérande a le type de cette classe ou de cette structure. Si votre code utilise cet opérateur sur une telle classe ou structure, assurez-vous que vous comprenez son comportement redéfini. Pour plus d'informations, consultez Procédures d'opérateur.

Exemple

L'exemple suivant utilise l'opérateur And pour effectuer une conjonction logique sur deux expressions. Le résultat est une valeur Boolean qui indique si les deux expressions ont la valeur True.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c

L'exemple précédent produit respectivement les résultats suivants : True et False.

L'exemple suivant utilise l'opérateur And pour effectuer une conjonction logique sur les bits individuels de deux expressions numériques. Le bit du modèle de résultat est défini si les bits correspondants dans les opérandes ont la valeur 1.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a And b)
secondPattern = (a And c)
thirdPattern = (b And c)

L'exemple précédent produit respectivement les résultats suivants : 8, 2 et 0.

Voir aussi

Concepts

Opérateurs de bits et opérateurs logiques en Visual Basic

Référence

Opérateurs logiques/de bits

Priorité des opérateurs en Visual Basic

Opérateurs répertoriés par fonctionnalité

AndAlso, opérateur