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.
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
4Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiques7Entrées/Sorties de base
Sortie de baseInterpolation de chaînesLecture d'entréeParserRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Méthodes (Fonctions)
Déclaration de méthodesParamètres de méthodeTypes de retourParamètres optionnelsRécapitulatif - Fonction de validationMéthodes Void13Itération sur les collections
Utilisation de la boucle ForBoucle ForeachOpérations courantes sur les tableaux5Opérateurs Partie 2
Opérateurs de comparaisonOpérateurs logiques Partie 1Opérateurs logiques Partie 2Récapitulatif - Logique simpleOpérateurs logiques Partie 33Variables - Partie 2
VarConstantesConventions de nommageRécapitulatif - Initialisation des variablesType Casting6Prise de décision
Instruction IfIf - ElseInstruction SwitchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle ForBoucle WhileBoucle Do WhileBreakContinueBoucles imbriquéesBoucle infinieRécapitulatif - Entrée dynamique12Opérations sur les chaînes
Méthodes de chaînes - Partie 1Méthodes de chaînes - Partie 2Formatage de chaînes