Ćwiczenie — implementowanie instrukcji foreach
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
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:
W menu Plik wybierz pozycję Otwórz folder.
Użyj okna dialogowego Otwórz folder, aby przejść do folderu CsharpProjects, a następnie go otworzyć.
W widoku Eksplorator programu Visual Studio Code wybierz pozycję Program.cs.
W menu Wybór programu Visual Studio Code wybierz pozycję Wybierz wszystko, a następnie naciśnij Delete.
Aby utworzyć tablicę typu
intprzechowują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
Aby utworzyć instrukcję
foreach, która iteruje poszczególne elementyinventorytablicy, wprowadź następujący kod:foreach (int items in inventory) { }Zwróć uwagę, że
foreachinstrukcja tymczasowo przypisuje wartość bieżącego elementu tablicy do zmiennejinto nazwieitems.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
Umieść kursor w pustym wierszu kodu nad instrukcją
foreach.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.Umieść kursor wewnątrz bloku kodu instrukcji
foreach.Aby dodać bieżącą wartość przechowywaną w
itemszmiennejsum, wprowadź następujący kod:sum += items;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
Utwórz pusty wiersz kodu poniżej bloku kodu instrukcji
foreach.Aby zgłosić ostateczną sumę elementów w spisie, wprowadź następujący kod:
Console.WriteLine($"We have {sum} items in inventory.");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.");W menu Plik programu Visual Studio Code kliknij przycisk Zapisz.
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.
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.
Utwórz pusty wiersz kodu powyżej instrukcji
foreach.Aby zadeklarować
intzmienną o nazwiebinzainicjowaną na0, wprowadź następujący kod:int bin = 0;Użyjesz
binpolecenia , aby przechowywać liczbę pojemników, których spis jest obecnie przetwarzany.foreachW bloku kodu, aby zwiększaćbinza 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 elementubin = bin + 1.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
foreachbloku kodu po :bin++;Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})");Ten kod będzie używać zmiennej
binlicznika , zmiennej tymczasowejforeachiitemszmiennejsumw celu raportowania bieżącego stanu spisu w ładnie sformatowanym komunikacie.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.");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
foreachustawia 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.