Menu
Coddy logo textTech

Clauses de garde

Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 19 sur 66.

Les clauses de garde sont des instructions conditionnelles au début d'une méthode qui vérifient les cas limites ou les entrées invalides et effectuent un retour anticipé si ces conditions sont remplies.

Créons une méthode sans clause de garde :

public void ProcessOrder(Order order)
{
    if (order != null)
    {
        // Traiter la commande
        // De nombreuses lignes de code ici...
    }
}

Maintenant, réécrivons-le avec une clause de garde (guard clause) :

public void ProcessOrder(Order order)
{
    if (order == null)
    {
        return; // Clause de garde - sortie anticipée si order est null
    }
    
    // Process the order
    // Many lines of code here...
}

Les clauses de garde améliorent la lisibilité en réduisant l'imbrication et en gérant les cas exceptionnels au début d'une méthode.

challenge icon

Défi

Facile

Créez une méthode nommée DivideNumbers qui prend deux entiers, numerator et denominator.

  1. Ajoutez une clause de garde pour vérifier si le dénominateur est égal à zéro.
  2. Si le dénominateur est zéro, affichez : "Cannot divide by zero" et retournez 0.
  3. Sinon, divisez le numérateur par le dénominateur et retournez le résultat.

Aide-mémoire

Les clauses de garde (guard clauses) sont des instructions conditionnelles au début d'une méthode qui vérifient les cas limites ou les entrées invalides et retournent prématurément si ces conditions sont remplies.

Sans clause de garde :

public void ProcessOrder(Order order)
{
    if (order != null)
    {
        // Traiter la commande
        // De nombreuses lignes de code ici...
    }
}

Avec une clause de garde :

public void ProcessOrder(Order order)
{
    if (order == null)
    {
        return; // Clause de garde - sortie prématurée si order est null
    }
    
    // Traiter la commande
    // De nombreuses lignes de code ici...
}

Les clauses de garde améliorent la lisibilité en réduisant l'imbrication et en gérant les cas exceptionnels au début d'une méthode.

Essayez vous-même

using System;

public class Program
{
    public static int DivideNumbers(int numerator, int denominator)
    {
        // Écrivez votre code ici
    }
    
    public static void Main()
    {
        // Lire les entrées depuis la console
        int numerator = Convert.ToInt32(Console.ReadLine());
        int denominator = Convert.ToInt32(Console.ReadLine());
        
        // Appeler la méthode DivideNumbers
        int result = DivideNumbers(numerator, denominator);
        
        // Afficher le résultat
        Console.WriteLine(result);
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux