Exercice - Implémenter l’instruction foreach

Effectué

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

  1. 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 :

    1. Dans le menu Fichier , sélectionnez Ouvrir le dossier.

    2. Utilisez la boîte de dialogue Ouvrir le dossier pour accéder, puis ouvrez le dossier CsharpProjects .

    3. Dans la vue Explorateur de Visual Studio Code, sélectionnez Program.cs.

    4. Dans le menu Sélection de Visual Studio Code, sélectionnez Sélectionner tout, puis appuyez sur la touche Supprimer.

  2. 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

  1. Pour créer une instruction foreach qui parcourt chaque élément du tableau inventory, 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 variable int nommée items.

  2. 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

  1. Positionnez le curseur sur la ligne de code vide au-dessus de l’instruction foreach.

  2. 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 .

  3. Positionnez le curseur à l’intérieur du bloc de code de l’instruction foreach.

  4. Pour ajouter la valeur actuelle stockée dans items à la variable sum, entrez le code suivant :

    sum += items;
    
  5. 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

  1. Créez une ligne de code vide sous le bloc de code de l’instruction foreach.

  2. Pour signaler la somme finale des articles de votre inventaire, entrez le code suivant :

    Console.WriteLine($"We have {sum} items in inventory.");
    
  3. 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.");
    
  4. Dans le menu Fichier Visual Studio Code, cliquez sur Enregistrer.

  5. 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é.

  6. À 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.

  1. Créez une ligne de code vide au-dessus de l’instruction foreach.

  2. Pour déclarer la variable int nommée bin qui est initialisée avec la valeur 0, 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.

  3. À l’intérieur du bloc de code foreach, pour incrémenter bin 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 pour bin = bin + 1.

  4. 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ès bin++; :

    Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})");
    

    Ce code utilise votre variable de compteur bin, la variable foreach temporaire items, et votre variable sum pour signaler l’état actuel de votre inventaire dans un message bien mis en forme.

  5. 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.");
    
  6. 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.