And, opérateur (Visual Basic)
Effectue une intersection logique de deux expressions Boolean
ou une intersection de bits de 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 combinaison logique de deux valeurs Boolean
. Pour les opérations au niveau du bit, result
est une valeur numérique représentant la conmbinaison 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 expression1
et expression2
évaluent à True
. Le tableau suivant illustre la détermination de result
.
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 la réalisation d’appels de procédure. L’opérateur AndAlso effectue un court-circuit, ce qui signifie que si expression1
est False
, alors expression2
n’est pas évalué.
Lorsqu’il est appliqué à des valeurs numériques, l’opérateur And
effectue une comparaison au niveau du bit de bits identiques dans deux expressions numériques et définit le bit correspondant dans result
en fonction du tableau suivant.
Si le bit dans expression1 est |
Et le bit en expression2 est |
Le bit en 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 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 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 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 de résultat est un type numérique approprié pour les types de données de expression1
et de expression2
. Consultez le tableau « Comparaisons relationnelles et au niveau du bit » dans types de données des résultats d’opérateur.
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 des résultats de True
, et False
, respectivement.
Exemple 2
L’exemple suivant utilise l’opérateur And
pour effectuer une combinaison 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 respectivement les résultats de 8, 2 et 0.