Boucles imbriquées
Fait partie de la section Fondamentaux du Journey C# de Coddy. Leçon 46 sur 69.
Une boucle imbriquée est simplement une boucle à l’intérieur d’une autre boucle. La boucle interne effectuera toutes ses itérations pour chaque itération de la boucle externe.
Une bonne analogie est celle d’une horloge : pour chaque heure (boucle externe), l’aiguille des minutes (boucle interne) doit effectuer son cycle complet de 60 minutes.
Exemple de boucle imbriquée :
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// Ceci affichera :
// 0 0
// 0 1
// 1 0
// 1 1La boucle externe (x) s’exécute deux fois et, pour chacune de ces exécutions, la boucle interne (y) s’exécute deux fois, ce qui signifie que le corps de la boucle interne s’exécute au total 4 fois.
Vous pouvez également avoir besoin de Console.Write() lorsque vous travaillez avec des boucles imbriquées. Contrairement à Console.WriteLine(), qui affiche du texte et passe à une nouvelle ligne, Console.Write() affiche du texte sans ajouter de saut de ligne à la fin. Cela vous permet de construire la sortie sur la même ligne :
for (int y = 0; y < 4; y++) {
Console.Write("* ");
}
Console.WriteLine();
// Ceci va afficher :
// * * * * Ici, Console.Write() continue d’afficher sur la même ligne, et Console.WriteLine() à la fin passe à la ligne suivante.
Défi
DébutantÉcrivez un programme qui affiche un rectangle d’astérisques (*) avec une largeur et une hauteur données.
Entrée : deux entiers : width et height
Par exemple :
Si width = 5 et height = 3, la sortie doit être :
*****
*****
*****Si width = 4 et height = 6, la sortie doit être :
****
****
****
****
****
****Essayez vous-même
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// Écrivez votre code ci-dessous
}
}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înesEntraînez-vous par vous-même : Compilateur C# en ligne