Maison > développement back-end > tutoriel php > Quelle est la différence entre les opérateurs `|` et `||` dans les expressions OR C# ?

Quelle est la différence entre les opérateurs `|` et `||` dans les expressions OR C# ?

Linda Hamilton
Libérer: 2024-12-13 08:28:14
original
1012 Les gens l'ont consulté

What's the Difference Between the `|` and `||` Operators in C# OR Expressions?

Comment les opérateurs | et || dans les expressions OR diffèrent-ils ?

Quand en travaillant avec des opérateurs logiques, nous rencontrons souvent l'opérateur || (double tube) pour les expressions OR. Cependant, il existe également un opérateur monotube, |. Comprendre la différence entre ces utilisations est crucial.

Comportement en cas de court-circuit

Comme le && et && & opérateur, l'opérateur || est un opérateur "court-circuit". Dans les expressions OR, cela signifie que si la première condition est vraie, les conditions suivantes ne sont pas évaluées.

Par exemple :

if(condition1 || condition2 || condition3)
Copier après la connexion

Si la condition1 est vraie, la condition2 et la condition3 ne le seront pas. être vérifié.

En revanche, l'opérateur | ne présente pas ce court-circuit comportement.

if(condition1 | condition2 | condition3)
Copier après la connexion

Avec cet opérateur, les conditions2 et 3 seront vérifiées même si la condition1 est vraie. Cela peut être avantageux lorsque les conditions sont des fonctions coûteuses, car cela peut améliorer les performances.

Références nulles et exceptions

Cependant, il y a une mise en garde à prendre en compte lors de l'utilisation de l'option | opérateur. Contrairement à l'opérateur ||, qui peut empêcher les NullReferenceExceptions, l'opérateur | n'offre pas cette protection.

Par exemple :

if(class != null & & class.someVar < 20)
Copier après la connexion

Avec l'opérateur ||, si la classe est nulle, l'instruction se termine normalement après avoir évalué la première condition. D'un autre côté, avec l'opérateur |, class.someVar sera évalué même si la classe est nulle, déclenchant potentiellement une NullReferenceException.

Opérations au niveau du bit

Outre les expressions OR, les opérateurs | et & avoir une autre utilité : les opérations au niveau du bit. Ces opérations impliquent la manipulation de bits dans des représentations binaires, offrant un contrôle plus précis sur des bits spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal