Simple Lösung für C#?

4 Antworten

Also erstens muss der Strichpunkt hinter deiner if-Klammer weg.
Die streicht dir das Programm sogar an.
Syntax ist:

if(bedingung)
{
aktion
}

Deine Rechenoperation geht nicht, weil du string und int durcheinander würfelst.
Console.WriteLine("string"+(1+1)); --> string 2

Console.WriteLine("string"+ 1+1); -> string 11

";" darfst du nicht hinter den runden klammern beim if setzen das ist das einzige Problem weswegen } diese rot unterringelt werden. Das "-" darfst du nicht in der Ausgabe rechnen dafür benötigst du eine weitere Variable also

int ergebnis = i_Zahl1 - i_Zahl2;
Console.WriteLine("Ausgabe" + ergebnis);

LOLDMeeLe 
Beitragsersteller
 02.10.2018, 16:49

Danke, das hat zumindest schon mal eins meiner Probleme gelöst! :D

Kiboman  02.10.2018, 16:54
@LOLDMeeLe

Ein

Console.WriteLine("Ausgabe {0}", i_Zahl1 - i_Zahl2);

Ist noch etwas eleganter.

Bei den if/else Operationen kommen keine ";" hin.

if (...) { ...
} else if (...) { ...
} else { ...
}

LOLDMeeLe 
Beitragsersteller
 02.10.2018, 16:54

Danke!

Dann hat mein Lehrer das einfach Falsch auf dem Übungsblatt notiert. xD

if(BEDINGUNG)
{
BEFEHLE
} 
[else if (BEDINGUNG) {...}}
[else {...}}  

JEDE IF-Bedingung hat diese Format. JEDE. Und JEDE Klammer die geöffnet wird, muss auch geschlossen werden. IMMER.

Zu den Strings:

"abc" + 1 - 2 => "abc1"
"abc1" - 2 => geht nicht.

Du muss Klammern setzen. Es wird nämmlich von links nach rechts ausgeführt und nicht kreuz und quer ;)

Woher ich das weiß:Studium / Ausbildung – Informatikstudium

Sp4ghett1C0de  02.10.2018, 16:57

Nein nur das ";" ist falsch am ende der runden klammern. Das else if muss nicht in klammer gesetzt werden es wird einfach unter das ende der ersten if Anweisung wie ein else angebaut.

triopasi  02.10.2018, 17:26
@Sp4ghett1C0de

Ahh hab mich da vertippt. Eckige Klammern werden in Dokumentationen meist genutzt um optionale Dinge zu kennzeichnen ;)

Und wie du siehst habe ich auch keine Strichpunkte genutzt.