Or, opérateur (Visual Basic)

Mise à jour : novembre 2007

Effectue une disjonction logique sur deux expressions Boolean ou une disjonction d'opérations de bits sur deux expressions numériques.

result = expression1 Or expression2

Éléments

  • result
    Requis. Toute expression Boolean ou numérique. Pour la comparaison Boolean, result est la disjonction logique inclusive de deux valeurs Boolean. Pour les opérations au niveau du bit, result est une valeur numérique qui représente la disjonction de bits inclusive de deux modèles binaires numériques.

  • expression1
    Requis. Toute expression Boolean ou numérique.

  • expression2
    Requis. Toute expression Boolean ou numérique.

Notes

Pour la comparaison Boolean, result est False si et uniquement si expression1 et expression2 ont la valeur False. Le tableau suivant illustre la manière dont result est déterminé.

Si expression1 a la valeur

Et expression2 a la valeur

La valeur de result est

True

True

True

True

False

True

False

True

True

False

False

False

Remarque :

Dans une comparaison Boolean, l'opérateur Or évalue toujours les deux expressions qui pourraient inclure des appels de procédure. L'opérateur OrElse effectue un court-circuit ce qui signifie que si expression1 a la valeur True, alors expression2 n'est pas évalué.

Pour les opérations au niveau du bit, l'opérateur Or effectue une comparaison de bits de position identique dans deux expressions numériques et définit le bit correspondant dans result d'après le tableau suivant :

Si le bit dans expression1 a la valeur

Et si le bit dans expression2 a la valeur

Le bit dans result a la valeur

1

1

1

1

0

1

0

1

1

0

0

0

Remarque :

Compte tenu que les opérateurs logiques et de bits ont une priorité inférieure à celle des opérateurs arithmétiques et relationnels, toutes les opérations au niveau du bit doivent être mises entre parenthèses afin de garantir une exécution précise.

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 une valeur numérique (–1 pour True et 0 pour False) et exécute une opération au niveau du bit.

Pour une comparaison Boolean, le type de données du résultat est Boolean. Pour une comparaison de bits, le type de données du résultat est un type numérique approprié pour les types de données de expression1 et expression2. Consultez la table « Relational and Bitwise Comparisons » dans Types de données des résultats d'opérateur.

Surcharge

L'opérateur Or 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 de cette structure. Si votre code utilise cet opérateur sur une telle classe ou structure, assurez-vous que vous comprenez son comportement redéfini. Pour plus d'informations, consultez Procédures d'opérateur.

Exemple

L'exemple suivant utilise l'opérateur Or pour effectuer une disjonction logique inclusive sur deux expressions. Le résultat est une valeur Boolean qui indique si l'une des deux expressions est True.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b Or b > c
secondCheck = b > a Or b > c
thirdCheck = b > a Or c > b

L'exemple précédent produit respectivement les résultats suivants : True, True et False.

L'exemple suivant utilise l'opérateur Or pour effectuer une exclusion logique inclusive sur les bits individuels de deux expressions numériques. Le bit du modèle de résultat est défini si un des bits correspondants dans les opérandes a la valeur 1.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a Or b)
secondPattern = (a Or c)
thirdPattern = (b Or c)

L'exemple précédent produit respectivement les résultats suivants : 10, 14 et 14.

Voir aussi

Concepts

Opérateurs de bits et opérateurs logiques en Visual Basic

Référence

Opérateurs logiques/de bits

Priorité des opérateurs en Visual Basic

Opérateurs répertoriés par fonctionnalité

OrElse, opérateur