Exercice - Implémenter l’instruction foreach
Supposez que vous travaillez pour une entreprise de fabrication. L’entreprise souhaite que vous procédiez à un inventaire de votre entrepôt afin de déterminer le nombre de produits prêts à être expédiés. Outre le nombre total de produits finis, vous devez indiquer le nombre de produits finis stockés dans chaque casier de votre entrepôt, ainsi que le total cumulé. Ce total cumulé sera utilisé pour créer une piste d’audit afin que vous puissiez contrôler votre travail et identifier toute « réduction ».
Boucler dans un tableau avec foreach
L’instruction foreach
offre une méthode simple et appropriée pour itérer au sein des éléments d’un tableau. L’instruction foreach
traite les éléments du tableau par ordre d’index croissant, en commençant à l’index 0 et en terminant à l’index Longueur - 1. Elle utilise une variable temporaire pour stocker la valeur de l’élément de tableau associé à l’itération actuelle. Chaque itération exécute le bloc de code situé sous la déclaration foreach
.
Voici un exemple simple :
string[] names = { "Rowena", "Robin", "Bao" };
foreach (string name in names)
{
Console.WriteLine(name);
}
Sous le mot clé foreach
, le bloc de code qui contient Console.WriteLine(name);
s’exécute une fois pour chaque élément du tableau names
. À mesure que le runtime .NET boucle dans chaque élément du tableau, la valeur stockée dans l’élément actuel du tableau names
est affecté à la variable temporaire name
pour faciliter l’accès à l’intérieur du bloc de code.
Si vous exécutiez le code, vous verriez le résultat suivant.
Rowena
Robin
Bao
Utilisez l’instruction foreach
pour créer une somme de tous les articles disponibles dans chaque casier de votre entrepôt.
Créer et initialiser un tableau d’entiers
Assurez-vous d’avoir un fichier Program.cs vide ouvert dans Visual Studio Code.
Si nécessaire, ouvrez Visual Studio Code, puis effectuez les étapes suivantes pour préparer un fichier Program.cs dans l’Éditeur :
Dans le menu Fichier , sélectionnez Ouvrir le dossier.
Utilisez la boîte de dialogue Ouvrir le dossier pour accéder, puis ouvrez le dossier CsharpProjects .
Dans la vue Explorateur de Visual Studio Code, sélectionnez Program.cs.
Dans le menu Sélection de Visual Studio Code, sélectionnez Sélectionner tout, puis appuyez sur la touche Supprimer.
Pour créer un tableau de type
int
qui stocke le nombre de produits finis dans chaque casier, entrez le code suivant :int[] inventory = { 200, 450, 700, 175, 250 };
Ajouter une instruction foreach pour parcourir le tableau
Pour créer une instruction
foreach
qui parcourt chaque élément du tableauinventory
, entrez le code suivant :foreach (int items in inventory) { }
Notez que l’instruction
foreach
affecte temporairement la valeur de l’élément de tableau actuel à une variableint
nomméeitems
.Vérifiez que votre code correspond au suivant :
int[] inventory = { 200, 450, 700, 175, 250 }; foreach (int items in inventory) { }
Ajouter une variable pour faire la somme des valeurs de chaque élément du tableau
Positionnez le curseur sur la ligne de code vide au-dessus de l’instruction
foreach
.Pour déclarer une nouvelle variable qui représente la somme de tous les produits finis dans votre entrepôt, entrez le code suivant :
int sum = 0;
Vérifiez que vous déclarez la variable en dehors de l’instruction
foreach
.Positionnez le curseur à l’intérieur du bloc de code de l’instruction
foreach
.Pour ajouter la valeur actuelle stockée dans
items
à la variablesum
, entrez le code suivant :sum += items;
Vérifiez que votre code correspond au suivant :
int[] inventory = { 200, 450, 700, 175, 250 }; int sum = 0; foreach (int items in inventory) { sum += items; }
Afficher la valeur finale de la variable sum
Créez une ligne de code vide sous le bloc de code de l’instruction
foreach
.Pour signaler la somme finale des articles de votre inventaire, entrez le code suivant :
Console.WriteLine($"We have {sum} items in inventory.");
Vérifiez que votre code correspond au suivant :
int[] inventory = { 200, 450, 700, 175, 250 }; int sum = 0; foreach (int items in inventory) { sum += items; } Console.WriteLine($"We have {sum} items in inventory.");
Dans le menu Fichier Visual Studio Code, cliquez sur Enregistrer.
Dans l’affichage EXPLORATEUR, pour ouvrir un terminal à l’emplacement de votre dossier TestProject, cliquez avec le bouton droit sur TestProject, puis sélectionnez Ouvrir dans le terminal intégré.
À l’invite de commandes terminal, tapez dotnet run , puis appuyez sur Entrée.
We have 1775 items in inventory.
Créer une variable pour stocker le nombre de casiers actuel et afficher le total cumulé
Pour satisfaire la dernière exigence de votre projet d’inventaire, vous devez créer une variable qui contiendra l’itération actuelle de l’instruction foreach
pour vous permettre d’afficher le casier et le nombre de produits finis qu’il contient, ainsi que le total cumulé de tous les articles des casiers comptabilisés jusqu’à ce jour.
Créez une ligne de code vide au-dessus de l’instruction
foreach
.Pour déclarer la variable
int
nomméebin
qui est initialisée avec la valeur0
, entrez le code suivant :int bin = 0;
Vous allez utiliser
bin
pour stocker le numéro du casier dont l’inventaire est en cours de traitement.À l’intérieur du bloc de code
foreach
, pour incrémenterbin
chaque fois que le bloc de code est exécuté, entrez le code suivant :bin++;
Notez que vous utilisez l’opérateur
++
pour incrémenter la valeur de la variable de 1. Il s’agit d’un raccourci pourbin = bin + 1
.Pour signaler le numéro du casier, le nombre de produits finis dans le casier et le total cumulé des produits finis, entrez le code suivant à l’intérieur du bloc de code
foreach
, aprèsbin++;
:Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})");
Ce code utilise votre variable de compteur
bin
, la variableforeach
temporaireitems
, et votre variablesum
pour signaler l’état actuel de votre inventaire dans un message bien mis en forme.Vérifiez que votre code correspond au suivant :
int[] inventory = { 200, 450, 700, 175, 250 }; int sum = 0; int bin = 0; foreach (int items in inventory) { sum += items; bin++; Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})"); } Console.WriteLine($"We have {sum} items in inventory.");
Enregistrez les modifications apportées à votre fichier Program.cs, puis exécutez l’application.
Vous devez normalement voir la sortie suivante :
Bin 1 = 200 items (Running total: 200) Bin 2 = 450 items (Running total: 650) Bin 3 = 700 items (Running total: 1350) Bin 4 = 175 items (Running total: 1525) Bin 5 = 250 items (Running total: 1775) We have 1775 items in inventory.
Récapitulatif
Voici quelques points à retenir concernant les instructions foreach
et l’incrémentation des valeurs que vous avez découverts dans cette unité :
- Utilisez l’instruction
foreach
pour itérer dans chaque élément d’un tableau, en exécutant une fois le bloc de code associé pour chaque élément du tableau. - L’instruction
foreach
définit la valeur de l’élément actuel dans le tableau sur une variable temporaire, que vous pouvez utiliser dans le corps du bloc de code. - Utilisez l’opérateur d’incrément
++
pour ajouter 1 à la valeur actuelle d’une variable.