C# Taschenrechner Rechenoperatoren?

4 Antworten

Moin,

"ergebnis" ist einfach nicht initialisiert. Weise am besten einfach einen Wert zu.

(Innerhalb der main)

int ergebnis = 0;

Statisch könntest du es auch noch machen, der Fehler bedeutet aber einfach, dass das Programm nicht weiß, was es tun soll, wenn kein Wert in "ergebnis" ist.

Deine Ausgabe passt mit dem Code nicht zusammen.

Das passiert aber, wenn du als String die Integer aneinander anfügst.

LG

//Nachtrag - innerhalb der main, da diese eine statische Methode ist und nicht auf das instanzabhängige ergebnis zugreifen kann.

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting
Von Experte Gaterde bestätigt

Entweder du machst ergebnis statisch (static int ergebnis) oder aber du packst die Variable in die Main Function, welches wohl die beste Variante sein sollte.

Es gibt einen Grund dafür, warum ergebnis rot unterkringelt ist.

Solltest du die Variable später irgendwie anderweitig brauchen in anderen Funktionen, kannst du sie auch schlicht übergeben...

Also entweder

using System;
class Program {
    static int ergebnis;    
	static void Main(string[] args)	{
	    ...

oder

using System;
class Program{
    static void Main(string[] args)	{
	    int ergebnis;
        ...

funktionieren wie gewünscht.

Pushlz 
Fragesteller
 29.10.2021, 09:22

Top funktioniert danke!

0

Ergebnis ist nur int daher eine lokale variable. Pack daher das int ergebnis in die Main Funktion.

Woher ich das weiß:eigene Erfahrung – Bin seit Jahren in dieser Branche tätig
Dultus, UserMod Light   29.10.2021, 09:20

Das muss nicht passieren - wir befinden uns in der selben Klasse. Das heißt, die Variable ist auch in der Methode gültig.

0

Ergebnis ist nicht static, mach das mal static, dann sollte es gehen