Menu
Coddy logo textTech

Guard Clauses

Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy — Lektion 19 von 66.

Guard Clauses sind bedingte Anweisungen am Anfang einer Methode, die auf Grenzfälle oder ungültige Eingaben prüfen und die Methode frühzeitig verlassen, wenn diese Bedingungen erfüllt sind.

Erstellen wir eine Methode ohne Guard-Clause:

public void ProcessOrder(Order order)
{
    if (order != null)
    {
        // Verarbeite die Bestellung
        // Viele Codezeilen hier...
    }
}

Schreiben wir es nun mit einer Guard-Clause um:

public void ProcessOrder(Order order)
{
    if (order == null)
    {
        return; // Guard-Clause - frühzeitiger Abbruch, wenn order null ist
    }
    
    // Bestellung verarbeiten
    // Viele Zeilen Code hier...
}

Guard Clauses verbessern die Lesbarkeit, indem sie Verschachtelungen reduzieren und Ausnahmefälle am Anfang einer Methode behandeln.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens DivideNumbers, die zwei Ganzzahlen, numerator und denominator, entgegennimmt.

  1. Fügen Sie eine Guard-Clause hinzu, um zu prüfen, ob der Nenner Null ist.
  2. Wenn der Nenner Null ist, geben Sie "Cannot divide by zero" aus und geben Sie 0 zurück.
  3. Andernfalls teilen Sie den Zähler durch den Nenner und geben Sie das Ergebnis zurück.

Spickzettel

Guard Clauses sind bedingte Anweisungen am Anfang einer Methode, die auf Randfälle oder ungültige Eingaben prüfen und frühzeitig zurückkehren, wenn diese Bedingungen erfüllt sind.

Ohne Guard Clause:

public void ProcessOrder(Order order)
{
    if (order != null)
    {
        // Die Bestellung verarbeiten
        // Viele Codezeilen hier...
    }
}

Mit Guard Clause:

public void ProcessOrder(Order order)
{
    if (order == null)
    {
        return; // Guard Clause - frühzeitig beenden, wenn order null ist
    }
    
    // Die Bestellung verarbeiten
    // Viele Codezeilen hier...
}

Guard Clauses verbessern die Lesbarkeit, indem sie Verschachtelungen reduzieren und Ausnahmefälle am Anfang einer Methode behandeln.

Probier es selbst

using System;

public class Program
{
    public static int DivideNumbers(int numerator, int denominator)
    {
        // Schreiben Sie hier Ihren Code
    }
    
    public static void Main()
    {
        // Eingaben von der Konsole lesen
        int numerator = Convert.ToInt32(Console.ReadLine());
        int denominator = Convert.ToInt32(Console.ReadLine());
        
        // Die Methode DivideNumbers aufrufen
        int result = DivideNumbers(numerator, denominator);
        
        // Das Ergebnis ausgeben
        Console.WriteLine(result);
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf