Or, opérateur (Visual Basic)

Effectue une disjonction logique sur deux expressions Boolean, ou une disjonction au niveau du bit sur deux expressions numériques.

Syntaxe

result = expression1 Or expression2  

Éléments

result
Obligatoire. Toute expression Boolean ou numérique. Pour Boolean comparaison, result est la disjonction logique inclusive de deux valeurs Boolean. Pour les opérations au niveau du bit, result est une valeur numérique représentant la disjonction inclusive 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 Boolean, result est False si et seulement si expression1 et expression2 évaluent False. 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 True
False True True
False False False

Notes

Dans une comparaison Boolean, l’opérateur Or évalue toujours les deux expressions, ce qui peut inclure l’exécution d’appels de procédure. L’opérateur OrElse effectue un court-circuit, ce qui signifie que si expression1 est True, expression2 n’est pas évalué.

Pour les opérations au niveau du bit, l’opérateur Or 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 en expression1 est Et le bit en expression2 est Le bit en result est
1 1 1
1 0 1
0 1 1
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 l’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 valeur numérique (–1 pour True et 0 pour False) et effectue une opération au niveau du bit.

Pour une comparaison Boolean, 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.

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 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 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 des résultats de True, Trueet False, respectivement.

Exemple 2

L’exemple suivant utilise l’opérateur Or pour effectuer une disjonction logique inclusive sur les bits individuels de deux expressions numériques. Le bit dans le modèle de résultat est défini si l’un des bits correspondants dans les opérandes est défini comme 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 de 10, 14 et 14.

Voir aussi