Wie unterscheiden sich die Operatoren | und || in ODER-Ausdrücken?
Wann Wenn wir mit logischen Operatoren arbeiten, stoßen wir häufig auf den Operator || (Doppelpipe) für ODER Ausdrücke. Es gibt jedoch auch einen einzelnen Pipe-Operator, |. Es ist entscheidend, den Unterschied zwischen diesen Verwendungen zu verstehen.
Kurzschlussverhalten
Wie das && und && &-Operator, der ||-Operator ist ein „Kurzschluss“-Operator. In ODER-Ausdrücken bedeutet dies, dass, wenn die erste Bedingung wahr ist, die nachfolgenden Bedingungen nicht ausgewertet werden.
Zum Beispiel:
if(condition1 || condition2 || condition3)
Wenn Bedingung1 wahr ist, werden Bedingung2 und Bedingung3 nicht ausgewertet überprüft werden.
Im Gegensatz dazu weist der |-Operator diesen Kurzschluss nicht auf Verhalten.
if(condition1 | condition2 | condition3)
Mit diesem Operator werden Bedingungen2 und 3 überprüft, auch wenn Bedingung1 wahr ist. Dies kann von Vorteil sein, wenn es sich bei Bedingungen um teure Funktionen handelt, da es zu einer Leistungssteigerung führen kann.
Nullreferenzen und Ausnahmen
Bei der Verwendung von ist jedoch eine Einschränkung zu beachten | Operator. Im Gegensatz zum ||-Operator, der NullReferenceExceptions verhindern kann, bietet der |-Operator diesen Schutz nicht.
Zum Beispiel:
if(class != null & & class.someVar < 20)
Mit dem Operator || wird die Anweisung nach Auswertung der ersten Bedingung ordnungsgemäß beendet, wenn die Klasse null ist. Andererseits wird class.someVar mit dem Operator | auch dann ausgewertet, wenn die Klasse null ist, was möglicherweise eine NullReferenceException auslöst.
Bitweise Operationen
Abgesehen von OR-Ausdrücken haben die Operatoren | und & Folgendes eine andere Verwendung: bitweise Operationen. Bei diesen Operationen werden Bits innerhalb binärer Darstellungen manipuliert, was eine präzisere Kontrolle über bestimmte Bits ermöglicht.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den Operatoren „|' und „||' in C#-OR-Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!