Partager via


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.

Voir aussi