Menu
Coddy logo textTech

Boucle infinie

Fait partie de la section Fondamentaux du Journey C# de Coddy — leçon 47 sur 69.

Une boucle infinie est une boucle qui ne s'arrête jamais parce que sa condition est toujours évaluée à true. Ces boucles peuvent se produire avec n'importe quel type de boucle (for, while, do-while), mais elles sont le plus souvent associées aux boucles while et do-while car leurs conditions sont explicitement énoncées.

Voici un exemple de boucle while infinie :

while (true) {
    Console.WriteLine("This will print forever!");
}

Dans ce cas, la condition est simplement true, qui s'évalue toujours à true. Ainsi, la boucle s'exécutera indéfiniment, affichant le message encore et encore.

Une autre façon de créer une boucle infinie est d'omettre la condition dans une boucle for :

for (;;) {
    Console.WriteLine("This also prints forever!");
}

Ici, les parties d'initialisation, de condition et de mise à jour de la boucle for sont toutes omises. Cela crée une boucle qui s'exécute indéfiniment.

Les boucles infinies peuvent également se produire involontairement, par exemple lorsque la condition de la boucle est toujours true en raison d'une erreur de logique :

int i = 0;
while (i < 10) {
    Console.WriteLine("i is: " + i);
    // i++ manquant pour incrémenter i
}

Dans cet exemple, la variable i n'est jamais incrémentée, donc la condition i < 10 est toujours true. Cela crée une boucle infinie qui continuera d'afficher "i is: 0" indéfiniment.

Les boucles infinies peuvent être utiles dans certains cas, comme dans les programmes serveurs qui doivent continuer à s'exécuter jusqu'à ce qu'ils soient arrêtés manuellement. Cependant, elles peuvent également provoquer le blocage ou le plantage des programmes si elles ne sont pas gérées correctement.

Aide-mémoire

Une boucle infinie est une boucle qui ne s'arrête jamais car sa condition est toujours évaluée à true.

Boucle while infinie intentionnelle :

while (true) {
    Console.WriteLine("This will print forever!");
}

Boucle for infinie avec des parties omises :

for (;;) {
    Console.WriteLine("This also prints forever!");
}

Boucle infinie involontaire (incrémentation manquante) :

int i = 0;
while (i < 10) {
    Console.WriteLine("i is: " + i);
    // i++ manquant pour incrémenter i
}

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

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 Fondamentaux