Autor Beitrag
sqe
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 31.05.11 15:17 
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Di 31.05.11 15:27 
Void = Einfach gehalten keine Rückgabe // (Methode)
Return = Rückgabe d.h. z.B. int //(Funktion)
sqe Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 31.05.11 15:29 
Danke.

Aber was will man zurückgeben und wann muss ich was benutzen?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: 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. ^^

Für diesen Beitrag haben gedankt: sqe
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: 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.

Für diesen Beitrag haben gedankt: sqe
daeve
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 116
Erhaltene Danke: 3

Windows (XP Pro, 7 Ultimate x64)
C#,WPF,Java,ASP.Net, VS 2010 Ultimate (x86)
BeitragVerfasst: Do 07.07.11 22:17 
Hoffe dieser Code hilft dir... anders kann ich dir das nicht mehr erklären

ausblenden volle Höhe 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();

        }

        
    }