Exercitarea - Implementarea angajamentului de presecare

Finalizat

Să presupunem că lucrați pentru o firmă de producție. Compania are nevoie de tine pentru a finaliza un inventar al depozitului pentru a determina numărul de produse gata de expediere. În plus față de numărul total de produse finite, trebuie să raportați numărul de produse finite stocate în fiecare compartiment individual din depozitul dvs., împreună cu un total parțial. Acest total parțial va fi utilizat pentru a crea o trasă de audit, astfel încât să puteți să verificați de două ori lucrul și să identificați "micșorarea".

Parcurgerea în buclă a unei matrice utilizând foreach

Instrucțiunea foreach oferă o modalitate simplă, curată de a itera prin elementele unei matrice. Instrucțiunea foreach procesează elementele matrice în ordine de indexare crescătoare, începând cu indexul 0 și se termină cu lungimea indexului - 1. Utilizează o variabilă temporară pentru a reține valoarea elementului matrice asociat cu iterația curentă. Fiecare iterație va rula blocul de cod aflat sub foreach declarație.

Iată un exemplu simplu:

string[] names = { "Rowena", "Robin", "Bao" };
foreach (string name in names)
{
    Console.WriteLine(name);
}

Sub cuvântul cheie, blocul foreach de cod care conține Console.WriteLine(name); se va executa o dată pentru fiecare element al matricei names . Pe măsură ce modulul runtime .NET parcurge fiecare element al matricei, valoarea stocată în elementul curent al matricei names este atribuită variabilei name temporare pentru acces ușor în interiorul blocului de cod.

Dacă ați rulat codul, veți vedea următorul rezultat.

Rowena
Robin
Bao

Utilizați instrucțiunea foreach pentru a crea o sumă a tuturor articolelor din fiecare compartiment al depozitului.

Crearea și inițializarea unei matrice de int

  1. Asigurați-vă că aveți un fișier Program.cs gol deschis în Visual Studio Code.

    Dacă este necesar, deschideți Visual Studio Code, apoi parcurgeți pașii următori pentru a pregăti un fișier Program.cs în Editor:

    1. În meniul Fișier , selectați Deschidere folder.

    2. Utilizați caseta de dialog Deschidere folder pentru a naviga la, apoi deschideți folderul CsharpProjects .

    3. În vizualizarea Visual Studio Code EXPLORER, selectați Program.cs.

    4. În meniul Selectare cod Visual Studio, selectați Selectare totală, apoi apăsați tasta Delete.

  2. Pentru a crea o matrice de tipuri int care stochează numărul de produse finite în fiecare compartiment, introduceți următorul cod:

    int[] inventory = { 200, 450, 700, 175, 250 };
    

Adăugați o instrucțiune de prim plan pentru a itera prin matrice

  1. Pentru a crea o foreach instrucțiune care iterează prin fiecare element al matricei inventory , introduceți următorul cod:

    foreach (int items in inventory)
    {
    
    }
    

    Observați că instrucțiunea foreach atribuie temporar valoarea elementului matrice curent unei int variabile denumite items.

  2. Asigurați-vă că codul se potrivește cu următoarele:

    int[] inventory = { 200, 450, 700, 175, 250 };
    
    foreach (int items in inventory)
    {
    
    }
    

Adăugați o variabilă pentru a însuma valoarea fiecărui element din matrice

  1. Poziționați cursorul pe linia de cod necompletată aflată deasupra instrucțiunii foreach .

  2. Pentru a declara o variabilă nouă care reprezintă suma tuturor produselor finite din depozitul dvs., introduceți următorul cod:

    int sum = 0;
    

    Asigurați-vă că declarați variabila în afara instrucțiunii foreach .

  3. Poziționați cursorul în interiorul blocului de cod al instrucțiunii foreach .

  4. Pentru a adăuga valoarea curentă stocată în itemssum variabilă, introduceți următorul cod:

    sum += items;
    
  5. Asigurați-vă că codul se potrivește cu următoarele:

    int[] inventory = { 200, 450, 700, 175, 250 };
    int sum = 0;
    foreach (int items in inventory)
    {
        sum += items;
    }
    

Afișarea valorii finale a sumei

  1. Creați o linie de cod necompletată sub blocul de cod al instrucțiunii foreach .

  2. Pentru a raporta suma finală a elementelor din inventar, introduceți următorul cod:

    Console.WriteLine($"We have {sum} items in inventory.");
    
  3. Asigurați-vă că codul se potrivește cu următoarele:

    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. În meniul Fișier cod Visual Studio, faceți clic pe Salvare.

  5. În vizualizarea EXPLORER, pentru a deschide un Terminal la locația folderului TestProject, faceți clic dreapta pe TestProject, apoi selectați Deschidere în Terminal integrat.

  6. În linia de comandă Terminal, tastați run dotnet , apoi apăsați pe Enter.

    We have 1775 items in inventory.
    

Creați o variabilă pentru a păstra numărul curent de compartiment și afișați totalul parțial

Pentru a îndeplini cerința finală a proiectului de raportare a inventarului, va trebui să creați o variabilă care să țină iterația curentă a foreach declarației, astfel încât să puteți afișa compartimentul și numărul de elemente finalizate din acel compartiment, împreună cu totalul parțial al tuturor elementelor de compartimente contabilizate până acum.

  1. Creați o linie de cod necompletată deasupra instrucțiunii foreach .

  2. Pentru a declara int variabila denumită bin inițializată la 0, introduceți următorul cod:

    int bin = 0;
    

    Se va utiliza bin pentru a stoca numărul coșului al cărui inventar este în curs de procesare.

  3. În interiorul blocului de foreach cod, pentru a incrementa bin de fiecare dată când se execută blocul de cod, introduceți următorul cod:

    bin++;
    

    Observați că utilizați ++ operatorul pentru a incrementa valoarea variabilei cu 1. Aceasta este o comandă rapidă pentru bin = bin + 1.

  4. Pentru a raporta numărul compartimentului, numărul de produse finite din compartiment și totalul total parțial al produselor finite, introduceți următorul cod în interiorul blocului de foreach cod, după bin++;:

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

    Acest cod va utiliza variabila bincontor , variabila foreachtemporară items și variabila pentru sum a raporta starea curentă a inventarului într-un mesaj formatat frumos.

  5. Asigurați-vă că codul se potrivește cu următoarele:

    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. Salvați modificările din fișierul Program.cs, apoi rulați aplicația.

    Ar trebui să vedeți următoarea ieșire:

    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.
    

Recapitula

Iată câteva lucruri de reținut despre foreach declarații și valori incrementante pe care le-ați învățat în această unitate:

  • Utilizați instrucțiunea foreach pentru a itera prin fiecare element dintr-o matrice, executând blocul de cod asociat o dată pentru fiecare element din matrice.
  • Instrucțiunea foreach setează valoarea elementului curent din matrice la o variabilă temporară, pe care o puteți utiliza în corpul blocului de cod.
  • Utilizați operatorul de ++ incrementare pentru a adăuga 1 la valoarea curentă a unei variabile.