Wir haben es bereits in der letzten Lektion kurz angesprochen: Auch bei Methoden mit dem Rückgabetyp void kann man return schreiben.
Methoden mit Rückgabewert erfordern zwingend eine return-Anweisung;
void-Methoden ohne Rückgabewert brauchen kein return zu enthalten:
Wenn die Ausführung die abschließende geschweifte Klammer } der Methode erreicht, kehrt sie automatisch zum Aufrufer zurück und übermittelt keine Daten.
In der Praxis müssen Methoden aber oft vorzeitig abgebrochen werden. Bei void-Methoden können Sie das parameterlose return; nutzen, um direkt auszusteigen:
Syntax: return; (kein Ausdruck danach)
Einschränkung: Darf nur in Methoden verwendet werden, die als void markiert sind
Beispiel:
void SayHi()
{
Console.WriteLine("hello welcome to foxDevelop.com");
}Code-Sprache: C# (cs)
Dies ist eines unserer früheren Beispiele, eine einfache void-Methode ohne erforderliches return.
Wenn wir sie aufrufen, wird die Writeline-Anweisung ausgeführt und „hello welcome to foxDevelop.com“ ausgegeben.
static void Main()
{
Program program = new Program();
program.SayHi();
}
void SayHi()
{
Console.WriteLine("hello welcome to foxdevelop.com");
}Code-Sprache: C# (cs)

Fügen wir nun return; hinzu.
void SayHi()
{
return; // Die return-Anweisung allein beendet die Ausführung der aktuellen Methode
Console.WriteLine("hello welcome to foxdevelop.com");
}Code-Sprache: C# (cs)

Bei der Ausführung erscheint keine Ausgabe. Da return; vor Console.WriteLine steht, springt das Programm bei return direkt zurück zum Aufrufer; der nachfolgende Code wird nicht ausgeführt. Das entspricht einem vorzeitigen Beenden.

Jeder Code danach wird niemals ausgeführt.
Also lässt sich auch bei void-Methoden return; verwenden – nur ohne Wert nach return.

int Add(int a, int b)
{
return 100;
}Code-Sprache: C# (cs)
Nicht-void-Methoden müssen mit return Wert; arbeiten.
Auf return muss ein Ergebnis folgen: eine Variable, ein Literal (Zahlen wie 100 oder 3.14) oder ein Ausdruck wie a+b. Am Ende muss immer ein Ergebnis vorhanden sein.
Wenn Sie das Ergebnis weglassen und nur return; wie bei void schreiben, erhalten Sie einen Fehler.

Mehrere Ausstiege mit return in void-Methoden
static void Main()
{
Program program = new Program();
program.ShowMax(100,200);
}
void ShowMax(int a, int b)
{
if (a>b)
Console.WriteLine($"{a}>{b}"); // Bei erfüllter Bedingung sofort aus der Methode austreten
if (b > a)
Console.WriteLine($"{b}>{a}");
}Code-Sprache: C# (cs)

Ein Beispiel:
class Program
{
static void Main()
{
Program program = new Program();
program.Greet();
}
private void Greet()
{
DateTime dt = DateTime.Now;
if (dt.Hour < 12)
return; // Vor 12 Uhr direkt beenden, keine Ausgabe
Console.WriteLine("Good afternoon!");
}
}Code-Sprache: C# (cs)
Liegt die aktuelle Uhrzeit nach zwölf Uhr, wird der Nachmittagsgruß ausgegeben; andernfalls entfällt die Ausgabe und die Methode kehrt sofort zurück.
return in void-Methoden