Jeder kann coden / Programmieren & TicTacToe / C# Einführung
Prozeduren und Funktionen¶
![]() |
![]() |
Link zur Microsoft Dokumentation Link zum roten Faden auf Miro Link zu Tutorial auf w3schools |
In C# sind Prozeduren und Funktionen wesentliche Bestandteile der Programmstruktur, die es ermöglichen, Code modular und wiederverwendbar zu gestalten. In der C#-Terminologie wird allerdings eher von Methoden gesprochen. Methoden können prozedural oder funktional aufgebaut sein. Hier ist eine kurze Übersicht:
1. Methoden (Prozeduren und Funktionen)¶
In C# können Methoden entweder als Prozeduren (ohne Rückgabewert) oder als Funktionen (mit Rückgabewert) gestaltet werden:
- Prozeduren: Methoden, die keinen Wert zurückgeben, verwenden den
void
-Rückgabetyp. Sie führen nur eine Aktion aus, ohne ein Ergebnis zurückzugeben. - Funktionen: Methoden, die einen Wert zurückgeben, haben einen spezifischen Rückgabetyp (z. B.
int
,string
). Der Rückgabewert wird mit demreturn
-Schlüsselwort festgelegt.
2. Definition einer Methode¶
Eine Methode wird durch eine Methodensignatur definiert, die den Rückgabewert, den Namen der Methode und optionale Parameter enthält.
Syntax einer Methode:
Rückgabetyp MethodeName(Datentyp Parameter1, Datentyp Parameter2, ...)
{
// Methodenkörper
// Optionale Berechnungen und Logik
return Wert; // (falls kein `void` verwendet wird)
}
3. Beispiel für eine Prozedur (ohne Rückgabewert)¶
Eine Prozedur (oder void
-Methode) führt nur eine Aktion aus und gibt keinen Wert zurück:
void Begrüßen(string name)
{
Console.WriteLine("Hallo, " + name + "!");
}
Aufruf der Prozedur:
Begrüßen("Max"); // Ausgabe: Hallo, Max!
Hallo, Max!
4. Beispiel für eine Funktion (mit Rückgabewert)¶
Eine Funktion gibt einen Wert zurück, der für weitere Berechnungen oder Aktionen verwendet werden kann:
int Addiere(int zahl1, int zahl2)
{
return zahl1 + zahl2;
}
Aufruf der Funktion:
int ergebnis = Addiere(3, 4); // ergebnis hat den Wert 7
Console.WriteLine(ergebnis); // Ausgabe: 7
7
5. Parameter und Überladung¶
- Parameter: Methoden können Parameter haben, die Eingabewerte akzeptieren. C# erlaubt auch optionale und named parameters.
- Überladung: C# erlaubt die Definition mehrerer Methoden mit demselben Namen, solange sich die Parameterliste unterscheidet (Method Overloading).
Beispiel:
int Berechne(int x, int y)
{
return x + y;
}
int Berechne(int x, int y, int z)
{
return x + y + z;
}
Aufruf:
int summe1 = Berechne(2, 3); // Ausgabe: 5
Console.WriteLine(summe1);
int summe2 = Berechne(2, 3, 4); // Ausgabe: 9
Console.WriteLine(summe2);
5 9
6. Rekursion¶
Methoden können sich in C# auch rekursiv aufrufen, d. h., eine Methode kann sich selbst innerhalb ihres eigenen Körpers aufrufen.
Beispiel einer rekursiven Methode zur Berechnung der Fakultät:
int Fakultaet(int n)// <-------+
{ // |
if (n <= 1) // |
return 1; // |
else // |
return n * Fakultaet(n - 1);
}
Aufruf:
int ergebnis = Fakultaet(5); // Ergebnis: 120 (5 * 4 * 3 * 2 * 1)
Console.WriteLine(ergebnis);
120