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 |
Notes
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 |
Notes
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).
Notes
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)