Programmieren Fehler?

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.

Woher ich das weiß:Studium / Ausbildung – Bachelor-Student in Informatik
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)

Woher ich das weiß:Hobby – Programmiere seit 6 Jahren, mache Office kram etc

Vielleicht:

(15 <= Alter <18)

PWolff  27.10.2023, 20:00

Funktioniert in der Wolfram Language und vielleicht ein paar anderen. In C# (noch?) nicht.

1