Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C# Methoden: Definieren, Aufrufen, Rekursion & Parameterübergabe

Was ist eine Methode?

Main-Methode.

Methoden definieren

Syntax:

<Zugriffsmodifizierer> <Rückgabetyp> <Methodenname>(Parameterliste)
{
    // Methodenkörper
}

Elemente einer Methode

  • Zugriffsmodifizierer – Sichtbarkeit (public, private, …)
  • Rückgabetyp – Datentyp des Rückgabewerts; void = kein Rückgabewert
  • Methodenname – Eindeutiger Bezeichner, case-sensitive
  • Parameterliste – Typ, Reihenfolge, Anzahl der Parameter (optional)
  • Methodenkörper – Anweisungen zur Aufgabenerfüllung

Beispiel: Maximum zweier Zahlen

public int FindMax(int num1, int num2)
{
    int result;
    if (num1 > num2) result = num1;
    else result = num2;
    return result;
}

Methoden aufrufen

Über Instanz der Klasse (bei Instanzmethoden) oder über Klassennamen (bei static-Methoden).

NumberManipulator n = new NumberManipulator();
int ret = n.FindMax(100, 200); // Aufruf
Console.WriteLine("Max: " + ret); // 200

Rekursive Methoden

Eine Methode ruft sich selbst auf. Klassisches Beispiel: Fakultät.

public int Factorial(int num)
{
    if (num == 1) return 1;
    return Factorial(num - 1) * num;
}

// Aufruf
Console.WriteLine(n.Factorial(6)); // 720

Wichtig: Basisfall (Abbruchbedingung) zwingend erforderlich, um StackOverflow zu vermeiden.

Parameterübergabe

MechanismusBeschreibungSchlüsselwort
Wertparameter (Call by Value)Kopie des Werts; Änderungen wirken nicht nach außen.(keines)
ReferenzparameterReferenz auf Speicherort; Änderungen wirken auf Original.ref
AusgabeparameterFür Rückgabe zusätzlicher Werte; muss in Methode zugewiesen werden.out

Beispiele

// Wertparameter
void ByValue(int x) { x = 10; }

// Referenzparameter
void ByRef(ref int x) { x = 10; }

// Ausgabeparameter
void ByOut(out int x) { x = 10; }

// Aufruf
int a = 5;
ByValue(a);   // a bleibt 5
ByRef(ref a); // a wird 10
ByOut(out a); // a wird 10 (vorheriger Wert irrelevant)

Modern (C# 7+): out var x direkt beim Aufruf deklarierbar.

C Sprache

  1. C# Abstrakte Klassen & Methoden meistern: Praktischer Leitfaden
  2. C# Partielle Klassen und Methoden verstehen
  3. Versiegelte Klassen und Methoden in C# meistern
  4. Methodenüberladung in C# meistern: Konzepte, Beispiele und Best Practices
  5. C-Funktionen meistern: Struktur, Deklaration & Best Practices
  6. Effiziente Speichernutzung mit C-Bitfeldern
  7. Variable Argumente in C meistern: Ein praktischer Leitfaden
  8. Java 8 Default Methods: Interfaces mit Implementierung & Backward Compatibility
  9. MATLAB Integration meistern: Von Stammfunktionen zu Riemann-Summen
  10. C# Delegates verstehen: Ein Leitfaden zu Funktionsreferenzen und Events