Nur assignment-, call-, increment-, decrement- und "new object"-Ausdrücke können als Anweisung verwendet werde



  • hallo zusammen

    ich bin neu in C# und brauche hilfe
    wie der titel schon sagt:

    Nur assignment-, call-, increment-, decrement- und "new object"-Ausdrücke können als Anweisung verwendet werden
    

    h
    und hier mein text:

    label1.Text = "1000 Fr. besitzt du in:"; Environment.NewLine + monate/12 + "jahre" + Environment.NewLine + monate + "Monate";
    

    in diesem text soll der fehler sein
    hat jemand eine idee?

    danke im voraus



  • Jo wenn du mal genau hinschaust, siehst den Fehler auch selbst.
    Hinter deinem "1000 Fr. besitzt du in:" steht ein ";".
    Ich denke das soll dort nicht hin oder 😉 Du wollst das ja alles verbinden miteiander, korrekt?



  • hier
                                           |
                                           v
    label1.Text = "1000 Fr. besitzt du in:"; Environment.NewLine + monate/12 + "jahre" + Environment.NewLine + monate + "Monate";
    

    Mit dem ersten ';' schließt du die Zuweisung von label1.Text ab. Mit dem Rest der Zeile kann der Compiler nichts mehr anfangen, da es kein "assignment-, call-, increment-, decrement- und "new object""-Ausdruck ist.

    Wahrscheinlich wolltest du hier den Text zusammenfügen. Besser als der +-Operator ist es aber string.Format zu verwenden, das würde denn ungefähr so aussehen:

    label1.Text = string.Format("1000 Fr. besitzt du in:{0}{1}jahre{0}{2}Monate", Environment.NewLine, monate / 12, monate);
    

    Wobei die Frage ist ob du unbedingt Environment.NewLine verwenden musst, meistens reicht auch ein \r\n .



  • Super hat geklappt 😉

    vielen dank!


Anmelden zum Antworten