Hallo,
außerdem kommt es bei den Ausdrücken auch auf die
Operatorpriorität an:
== hat eine höhere Priorität als
&& und
||, weswegen der Ausdruck als
C#-Quelltext
1:
| if (Bedingung1 && (Bedingung2 == true) || Bedingung2 && (Bedingung3 == true)) |
ausgewertet wird (daher dein Ergebnis).
Aufgrund der o.g. Operatorpriorität reicht es sogar, den Ausdruck von Ralf ohne Klammern als
C#-Quelltext
1:
| if (Bedingung1 && Bedingung2 || Bedingung2 && Bedingung3) |
zu schreiben (auch wenn es mit den Klammern lesbarer und verständlicher ist).
Und diesen kann man sogar aufgrund der
De Morgansche Regeln zu
C#-Quelltext
1:
| if ((Bedingung1 || Bedingung3) && Bedingung2) |
verkürzen.