C# Language Récursivité en anglais


Exemple

La récursion peut être définie comme suit:

Une méthode qui s'appelle jusqu'à ce qu'une condition spécifique soit remplie.

Un exemple simple et excellent de récursivité est une méthode qui obtiendra la factorielle d'un nombre donné:

public int Factorial(int number)
{
    return number == 0 ? 1 : n * Factorial(number - 1);
}

Dans cette méthode, nous pouvons voir que la méthode prendra un argument, number .

Pas à pas:

Prenons l'exemple, exécutant Factorial(4)

  1. Est le number (4) == 1 ?
  2. Non? retour 4 * Factorial(number-1) (3)
  3. Comme la méthode est appelée à nouveau, elle répète maintenant la première étape en utilisant Factorial(3) comme nouvel argument.
  4. Cela continue jusqu'à ce que Factorial(1) soit exécuté et que le number (1) == 1 renvoie 1.
  5. Globalement, le calcul "se construit" 4 * 3 * 2 * 1 et retourne finalement 24.

La clé pour comprendre la récursivité est que la méthode appelle une nouvelle instance d'elle-même. Après retour, l'exécution de l'instance appelante se poursuit.