Unterschied von int und void?

7 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Main ist die Haupt-Einsprungs-Methode. Die wird von keiner anderen Methode aufgerufen, sondern vom Rahmenwerk beim Start des Programms.

Du kannst Dir nun aussuchen, ob Dein Programm einen Wert (int) zurückgeben soll oder nicht. Bei einem Konsolenprogramm kann der Rückgabewert z.B. durch eine cmd/bat-Datei ausgewertet werden.

Bei void main hast du einfach kein Rückgabewert.

Die Hauptfunktion int main kann als Rückgabe eine Ganzzahl beinhalten. Diese kann man nach Abschluss des Programms in den Umgebungsvariablen des BS abfragen.

Du kannst das klassisch unter Windows mal folgendermaßen testen:

Ping gibt den Erfolg eines Pings durch eine 0 wieder. Den Misserfolg durch eine 1.

Ping also mal unter der Konsole dich selbst an (localhost). Danach fragst du die Umgebungsvariable errorlevel durch "echo %errorlevel%" ab

Das gleiche machst du dann nochmal mit einem ping zu 100.200.300.400 oder irgendeine Adresse, die du nicht anpingen kannst. Da ist der ErrorLevel, also der Rückgabewert, 1.

Bei der Definition jeder Methode musst du den Typ des Rückgabewertes angeben. Em Ende dieser Methode musst du per "return" einen Wert zurückgeben, der diesem Typ entspricht.

"void" (https://translate.google.de/#en/de/void) bildet dabei eine Ausnahme, es bedeutet "kein Rückgabewert".

"int" steht für Integer (https://translate.google.de/#en/de/Integer), heißt du gibst eine Zahl zurück, die (in diesem Fall) angibt, ob das Programm erfolgreich abgeschlossen wurde (0; am Ende steht daher "return 0;" -> wenn der Code bis hierher erfolgreich ausgeführt wurde, wird "0" zurückgegeben) oder nicht.

Wenn du irgendetwas nicht verstanden hast, sag einfach Bescheid, allerdings muss ich zugeben, dass ich C# nicht kann.


AnonYmus19941  03.08.2016, 17:59

Wenn du "int" als Rückgabetyp angibst, solltest du auch eine Ganzzahl zurückgeben, auch wenn es manchmal auch anders geht.

Wenn du "void" angibst, wird eigentlich nichts zurückgegeben.

0

Naja, bei einer void- Methode wird kein Wert zurückgegeben, bei einer int Methode wird einfach ein Integer, ganze Zahl zurückgegeben.

https://msdn.microsoft.com/de-de/library/yah0tteb.aspx



priesterlein  03.08.2016, 17:51

Du kannst auch 1000 oder 3000 oder sonstwas zurückgeben.

0
procoder42  03.08.2016, 17:51

bei einer int Methode wird entweder -1, 0 oder 1 zurückgegeben.

Allgemein kann jede beliebige Ganzzahl zurückgegeben werden.

Bei der Main Methode soll über den Rückgabewert aber zusätzlich angegeben werden, ob das Programm ordnungsgemäß lief (sprich : Ob es Fehler gab). 0 bei einem fehlerfreien Ablauf und meist eine negative Zahlt (-1 ist es dann oft) für einen Fehler (Letztendlich könnte man aber über die zurückgegebene Zahl auch verschiedene Fehlertypen angeben, daher kann man das nicht auf -1, 0 und 1 beschränken)

0

Void ist eine Methode ohne Rückgabewert, Int ist eine Methode welche einen Int-Wert zurückgibt. Diese Methoden müssen auch so aufgerufen werden. Neben Int kannst du den Rückgabetypen ändern indem du einen anderem im Deklarationsrumpf angibst. Bsp. Public String oder Private float.