Entwickler-Ecke

C# - Die Sprache - Erklärungsgesuch: void & return


sqe - Di 31.05.11 15:17
Titel: Erklärungsgesuch: void & return
Hi,

ich bin ganz neu in der C# Programmierung und habe vorher auch noch nicht programmiert.

Meine Frage nun:

Ich verstehe absolut nicht die Funktion und Anwendung von void und return. Wann benutzt man was, wozu, was muss ich beachten und was ist die allgemein Funktionsweise von den beiden?

Ich besitze auch eine Menge Bücher, aus denen werde ich aber leider auch nicht schlau, daher meine Frage hier.

Eine Erklärung auf unterstem DAU-Niveau würde mir echt helfen. Ich denke, dass dieses Thema sehr wichtig ist und ich möchte es anwenden können, grob verstehen reicht mir nicht.

Schon einmal vielen Dank und vG


thepaine91 - Di 31.05.11 15:27

Void = Einfach gehalten keine Rückgabe // (Methode)
Return = Rückgabe d.h. z.B. int //(Funktion)


sqe - Di 31.05.11 15:29

Danke.

Aber was will man zurückgeben und wann muss ich was benutzen?


jaenicke - Di 31.05.11 15:42

Was du zurückgeben willst, hängt von dir ab. Das ist das Ergebnis deiner Berechnung oder ähnlichem. :nixweiss:


sqe - Di 31.05.11 15:50

Ok, ganz von vorne: Was bedeutet "zurückgeben"? Das ist der Wert, der in meiner Funktion berechnet wird und den ich dann an Main weiterleiten will, oder?

Dann muss doch alles ein return haben, weil bei einer Funktion ohne return nichts bei der main ankommen würde, ergo die Berechnung der main nichts bringt.


thepaine91 - Di 31.05.11 16:01

Zurückgeben heist du rufst etwas auf z.B. berechne(x,y) was dir einen Wert zurück liefert damit sowas möglich ist:
iWert = berechne(x,y);

Also möchtest du ein Ergebnis erhalten bzw. berechnen lassen bzw. weiter verwenden. Wie auch immer du es nennen willst dann brauchst du einen Rückgabetyp != void ansonsten void. ^^


Ralf Jansen - Di 31.05.11 16:35

Zitat:
Dann muss doch alles ein return haben, weil bei einer Funktion ohne return nichts bei der main ankommen würde, ergo die Berechnung der main nichts bringt.


Eine Berechnung ist auch nur ein Beispiel was eine Funktion machen kann. Ein Methode könnte z.B auch einfach nur irgendwas in eine Datei schreiben dann gehen nur Daten in die Funktion rein aber es kommt nichts zurück. In diesem Fall würdest du dann denn Rückgabetyp der Funktion als void deklarieren und ein return in der Funktion wäre dann nicht notwendig. Aber möglich zum Beispiel um die Funktion aufgrund irgendeiner Bedingung vorzeitig abzubrechen.


daeve - Do 07.07.11 22:17

Hoffe dieser Code hilft dir... anders kann ich dir das nicht mehr erklären


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
   class Program
    {
        // Variablen
         public static int q = 3;
         public static int w = 2;
         public static int ergSub;


        // Methode ohne Rückgabe Wert (void)
        public static void sub()
        { 
            // hier machst du irgend eine Operation sonst nichts
            ergSub = q - w;
        }


        // Methode mit Rückgabewert, der Rückgabewert ist von Typ
        // int, das bedeutet das die methode etwas zurück geben muss.
        // der Wert( im Beispiel unten wird die Variable ergAdd zurückgegeben 
        // das schlüsselwort dazu ist return ! 
        public static int add()
        {
            int x = 2;
            int y = 3;

            int ergAdd = x + y;

            return ergAdd;
        }

        // Programm start
        public static void main(String[] args)
        {
            // jetzt kannst du den Rückgabewert der Methode add() verwenden!
            int e = ergSub + add();

        }

        
    }