Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Effectue une combinaison logique sur deux Boolean
expressions ou une combinaison au niveau du bit sur deux expressions numériques.
Syntaxe
result = expression1 And expression2
Pièces
result
Obligatoire. Toute Boolean
expression ou expression numérique. Pour la comparaison booléenne, result
est la combinaison 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 Boolean
expression ou expression numérique.
expression2
Obligatoire. Toute Boolean
expression ou expression numérique.
Remarques
Pour la comparaison booléenne, result
est True
si et uniquement si les deux expression1
et expression2
évaluent à True
. Le tableau suivant montre comment result
déterminer.
Si expression1 c’est |
Et expression2 c’est |
La valeur de result est |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
Remarque
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-circuit, ce qui signifie que si expression1
c’est False
le cas, il expression2
n’est pas évalué.
En cas d’application à des valeurs numériques, l’opérateur And
effectue une comparaison au niveau du bit des bits positionnés de manière identique dans deux expressions numériques et définit le bit correspondant en result
fonction du tableau suivant.
Si le bit est expression1 |
Et le bit en expression2 est |
Le bit en result est |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
Remarque
É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 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 de résultat est un type numérique approprié pour les types de données et expression1
expression2
. Consultez la table « Comparaisons relationnelles et au niveau du bit » dans les types de données des résultats des opérateurs.
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 structure. Si votre code utilise cet opérateur sur une telle classe ou structure, veillez à comprendre son comportement redéfini. Pour plus d’informations, consultez Procédures d’opérateur.
Exemple 1
L’exemple suivant utilise l’opérateur And
pour effectuer une combinaison 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 respectivement des résultats et True
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.