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.

Voir aussi