Ćwiczenie — implementowanie instrukcji foreach

Zakończone

Załóżmy, że pracujesz w firmie produkcyjnej. Firma wymaga ukończenia spisu magazynu, aby określić liczbę produktów gotowych do wysłania. Oprócz całkowitej liczby gotowych produktów należy zgłosić liczbę gotowych produktów przechowywanych w każdym pojemniku w magazynie wraz z sumą bieżącą. Ta suma bieżąca zostanie użyta do utworzenia dziennika inspekcji, aby można było dokładnie sprawdzić swoją pracę i zidentyfikować "zmniejszanie".

Przetwarzanie tablicy w pętli przy użyciu instrukcji foreach

Instrukcja foreach zapewnia prosty, czysty sposób iterowania elementów tablicy. Instrukcja foreach przetwarza elementy tablicy w kolejności rosnącej indeksu, począwszy od indeksu 0 i kończąc na długości indeksu - 1. Używa zmiennej tymczasowej do przechowywania wartości elementu tablicy skojarzonego z bieżącą iteracją. Każda iteracja uruchomi blok kodu znajdujący się poniżej deklaracji foreach .

Oto prosty przykład:

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

Poniżej słowa kluczowego foreach blok kodu zawierający instrukcję Console.WriteLine(name); zostanie wykonany jednokrotnie dla każdego elementu tablicy names. Gdy środowisko uruchomieniowe .NET przetwarza w pętli każdy element tablicy, wartość przechowywana w bieżącym elemencie tablicy names jest przypisywana do zmiennej tymczasowej name w celu zapewnienia łatwego dostępu wewnątrz bloku kodu.

Jeśli uruchomisz kod, zobaczysz następujący wynik.

Rowena
Robin
Bao

Użyj instrukcji , foreach aby utworzyć sumę wszystkich elementów znajdujących się w każdym pojemniku magazynu.

Tworzenie i inicjowanie tablicy int

  1. Upewnij się, że masz pusty plik Program.cs otwarty w programie Visual Studio Code.

    W razie potrzeby otwórz program Visual Studio Code, a następnie wykonaj następujące kroki, aby przygotować plik Program.cs w edytorze:

    1. W menu Plik wybierz pozycję Otwórz folder.

    2. Użyj okna dialogowego Otwórz folder, aby przejść do folderu CsharpProjects, a następnie go otworzyć.

    3. W widoku Eksplorator programu Visual Studio Code wybierz pozycję Program.cs.

    4. W menu Wybór programu Visual Studio Code wybierz pozycję Wybierz wszystko, a następnie naciśnij Delete.

  2. Aby utworzyć tablicę typu int przechowującą liczbę gotowych produktów w każdym pojemniku, wprowadź następujący kod:

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

Dodawanie instrukcji foreach w celu iteracji za pośrednictwem tablicy

  1. Aby utworzyć instrukcję foreach , która iteruje poszczególne elementy inventory tablicy, wprowadź następujący kod:

    foreach (int items in inventory)
    {
    
    }
    

    Zwróć uwagę, że foreach instrukcja tymczasowo przypisuje wartość bieżącego elementu tablicy do zmiennej int o nazwie items.

  2. Upewnij się, że kod jest zgodny z następującymi elementami:

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

Dodawanie zmiennej w celu zsumowania wartości każdego elementu w tablicy

  1. Umieść kursor w pustym wierszu kodu nad instrukcją foreach .

  2. Aby zadeklarować nową zmienną reprezentującą sumę wszystkich gotowych produktów w magazynie, wprowadź następujący kod:

    int sum = 0;
    

    Upewnij się, że deklarujesz zmienną poza instrukcją foreach .

  3. Umieść kursor wewnątrz bloku kodu instrukcji foreach .

  4. Aby dodać bieżącą wartość przechowywaną w items zmiennej sum , wprowadź następujący kod:

    sum += items;
    
  5. Upewnij się, że kod jest zgodny z następującymi elementami:

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

Wyświetlanie końcowej wartości sumy

  1. Utwórz pusty wiersz kodu poniżej bloku kodu instrukcji foreach .

  2. Aby zgłosić ostateczną sumę elementów w spisie, wprowadź następujący kod:

    Console.WriteLine($"We have {sum} items in inventory.");
    
  3. Upewnij się, że kod jest zgodny z następującymi elementami:

    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. W menu Plik programu Visual Studio Code kliknij przycisk Zapisz.

  5. W widoku EKSPLORATOR, aby otworzyć terminal w lokalizacji folderu TestProject, kliknij prawym przyciskiem myszy pozycję TestProject, a następnie wybierz polecenie Otwórz w zintegrowanym terminalu.

  6. W wierszu polecenia terminalu wpisz polecenie dotnet run , a następnie naciśnij Enter.

    We have 1775 items in inventory.
    

Utwórz zmienną do przechowywania bieżącego numeru pojemnika i wyświetl sumę bieżącą

Aby spełnić ostateczne wymaganie projektu raportowania spisu, należy utworzyć zmienną, która będzie przechowywać bieżącą iterację foreach instrukcji, aby można było wyświetlić pojemnik i liczbę gotowych elementów w tym pojemniku wraz z bieżącą sumą wszystkich elementów pojemników uwzględnionych do tej pory.

  1. Utwórz pusty wiersz kodu powyżej instrukcji foreach .

  2. Aby zadeklarować int zmienną o nazwie bin zainicjowaną na 0, wprowadź następujący kod:

    int bin = 0;
    

    Użyjesz bin polecenia , aby przechowywać liczbę pojemników, których spis jest obecnie przetwarzany.

  3. foreach W bloku kodu, aby zwiększać bin za każdym razem, gdy blok kodu jest wykonywany, wprowadź następujący kod:

    bin++;
    

    Zwróć uwagę, że operator służy ++ do przyrostowania wartości zmiennej o 1. Jest to skrót dla elementu bin = bin + 1.

  4. Aby zgłosić numer pojemnika, liczbę gotowych produktów w pojemniku i bieżącą sumę gotowych produktów, wprowadź następujący kod wewnątrz foreach bloku kodu po :bin++;

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

    Ten kod będzie używać zmiennej binlicznika , zmiennej tymczasowej foreach i items zmiennej sumw celu raportowania bieżącego stanu spisu w ładnie sformatowanym komunikacie.

  5. Upewnij się, że kod jest zgodny z następującymi elementami:

    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. Zapisz zmiany w pliku Program.cs, a następnie uruchom aplikację.

    Powinny zostać wyświetlone następujące dane wyjściowe:

    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.
    

Podsumowanie

Poniżej przedstawiono kilka kwestii, które należy zapamiętać na temat foreach instrukcji i przyrostowych wartości poznanych w tej lekcji:

  • Używaj instrukcji foreach, aby iterować po poszczególnych elementach tablicy, wykonując skojarzony blok kodu jednokrotnie dla każdego elementu w tablicy.
  • Instrukcja foreach ustawia wartość bieżącego elementu tablicy na zmienną tymczasową, której można używać w treści bloku kodu.
  • Używaj operatora inkrementacji ++, aby dodawać 1 do bieżącej wartości zmiennej.