Partager via


And, opérateur (Visual Basic)

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

Composants

  • result
    Obligatoire.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
    Obligatoire.Toute expression Boolean ou numérique.

  • expression2
    Obligatoire.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 est :

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.Opérateur AndAlso (Visual Basic) exécute le court-circuit, ce qui signifie que si expression1 a la valeur False, 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 (Visual Basic).

[!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 (Visual Basic).

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

Référence

Opérateurs logiques/de bits (Visual Basic)

Priorité des opérateurs en Visual Basic

Opérateurs répertoriés par fonctionnalité (Visual Basic)

Opérateur AndAlso (Visual Basic)

Concepts

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