Frage von blacCSxtrem, 57

Unterschied von int und void?

Ich bin dabei mir c# beizubringen. Allerdings frage ich mich da was der unterschied bei der mothode static in main() und static void main() ist. Ich weiß nur, das bei int eine schließung über return 0;/1;/oder -1; folgt. Bei void geschieht dies auch und bei int wird der daten angebeben, bei void nicht. Bei den beispielprogrammen aus dem buch fand ich aber bei keinen der methoden angegebene daten, außer console.writeline(). Dies dann aber auch bei beiden.

P.s. ich bin noch nicht weit und das internet bringt auch keine fragelösung in mein gehirn

Antwort
von Mikkey, 24

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.

Antwort
von priesterlein, 34

Int ist ein Datentyp und der kann alle Zahlen in seinem Bereich speichern, nicht nur 0 und 1. Void steht für "gar nichts" oder "leer". Da erfolgt in deinem Fall das return ohne Angabe eines Wertes, weil void eben nichts ist.

Je nach Sprache ist der eine der andere Typ zwingend oder nicht, die Angabe des Rückgabewertes optional oder nicht.

Bitte lerne unbedingt mehr Grundlagen ehe du zu programmieren anfängst.

Kommentar von blacCSxtrem ,

Ich kann mit dem pc (bios, win/dos, hardware, etc relative gut umgehen) mein buch für c# ist jedoch ohne  informatiklehre(-rerin/-r) sinnlos kompliziert. Ich habe jedoch zum glück auch das:c howto buch. Was für anfänger der computersprache wunderbar geeignet ist und sogar manchmal im informatikunterricht gewöhnlicher realschulen eingesetzt wird für schülerprojekte

Antwort
von Omnivore11, 12

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.

Antwort
von ETechnikerfx, 31

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.

Antwort
von AnonYmus19941, 20

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.

Kommentar von AnonYmus19941 ,

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.

Antwort
von procoder42, 32

mothode static in main() und static void main()

Schau mal in ein englisches Wörterbuch : Integer = Ganzzahl; Void = leer

Daraus ergibt sich dann auch der Sinn. Ist die Methode als "int" gekennzeichnet, so wird eine Ganzzahl zurückgegeben; bei "void" gar nichts

Antwort
von 969669, 28

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


Kommentar von priesterlein ,

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

Kommentar von procoder42 ,

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)

Kommentar von 969669 ,

Danke habs verbessert!

Antwort
von blacCSxtrem, 4

Danke für all eure hilfreichen antworten.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten