And, opérateur (Visual Basic)
Effectue une conjonction logique sur deux Boolean
expressions, ou une conjonction au niveau du bit sur deux expressions numériques.
Syntaxe
result = expression1 And expression2
Éléments
result
Obligatoire. Toute expression Boolean
ou numérique. Pour la comparaison booléenne, result
est la conjonction logique de deux Boolean
valeurs. Pour les opérations au niveau du bit, result
est une valeur numérique représentant la conjonction au niveau du bit de deux modèles de bits numériques.
expression1
Obligatoire. Toute expression Boolean
ou numérique.
expression2
Obligatoire. Toute expression Boolean
ou numérique.
Notes
Pour la comparaison booléenne, result
est True
si et uniquement si et expression2
évaluent expression1
à True
. Le tableau suivant montre comment result
est déterminé.
Si expression1 est |
Et expression2 est |
La valeur de result est |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
Notes
Dans une comparaison booléenne, l’opérateur And
évalue toujours les deux expressions, ce qui peut inclure l’exécution d’appels de procédure. L’opérateur AndAlso effectue un court-circuitage, ce qui signifie que si expression1
est False
, alors expression2
n’est pas évalué.
Lorsqu’il est appliqué aux valeurs numériques, l’opérateur And
effectue une comparaison au niveau du bit des bits de position identique dans deux expressions numériques et définit le bit correspondant dans en result
fonction du tableau suivant.
Si bit in expression1 est |
Et bit in expression2 est |
Le bit dans result est |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
Notes
Étant donné que les opérateurs logiques et au niveau du bit ont une précédence 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 des résultats précis.
Types de données
Si les opérandes se composent d’une Boolean
expression et d’une expression numérique, Visual Basic convertit l’expression Boolean
en valeur numérique (–1 pour True
et 0 pour False
) et effectue une opération au niveau du bit.
Pour une comparaison booléenne, le type de données du résultat est Boolean
. Pour une comparaison au niveau du bit, le type de données résultat est un type numérique approprié pour les types de données de expression1
et expression2
. Consultez la table « Comparaisons relationnelles et au niveau du bit » dans Types de données des résultats des opérateurs.
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 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 And
pour effectuer une conjonction logique sur deux expressions. Le résultat est une Boolean
valeur qui indique si les deux expressions sont 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 les résultats de True
et False
, respectivement.
Exemple 2
L’exemple suivant utilise l’opérateur And
pour effectuer une conjonction logique sur les bits individuels de deux expressions numériques. Le bit dans le modèle de résultat est défini si les bits correspondants dans les opérandes sont tous deux définis sur 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 des résultats de 8, 2 et 0, respectivement.