Programmieren Fehler?
Was habe ich da falsch gemacht?
4 Antworten
C# evaluiert von links nach rechts.
(Alter < 15 >= 12)
Dieser Abschnitt wird also wie folgt evaluiert:
((Alter < 15) >= 12)
Der erste Teil wird zu einem Boolean.
Wenn das Alter kleiner als 15 ist wird daraus true. Grösser oder gleich 15 wird zu false.
Danach überprüfst du ob true/false grösser gleich 12 ist. Und da vergleichst du 2 verschiedene Datentypen.
Was habe ich da falsch gemacht?
Steht in der Fehlermeldung: Der erste Teil
Alter <15 ....
in Zeile 21 erzeugt einen Wert vom Typ "bool" und wird damit in der Folge Teil eines weiteren Vergleichs (>=12), der keinen Typ "bool" Operanden akzeptiert.
Du hast die && vergessen welche dann Quasi ein UND (and in manchen anderen Sprachen wie lua z.B.) ergeben. Also dann stattdessen z.B.
(Alter < 15 && Alter >=12)
Ist es das was du machen wolltest? Jetzt wird die If Abzweigung ausgeführt wenn die Variable Alter kleiner als 15 ist und größer als 11 ist (bzw halt größer gleich 12 so wie du es geschrieben hast xD)
Vielleicht:
(15 <= Alter <18)
Funktioniert in der Wolfram Language und vielleicht ein paar anderen. In C# (noch?) nicht.