Övning – Implementera foreach-instruktionen

Fullbordad

Anta att du arbetar för ett tillverkningsföretag. Företaget behöver dig för att slutföra en inventering av ditt lager för att fastställa antalet produkter som är redo att levereras. Förutom det totala antalet färdiga produkter måste du rapportera antalet färdiga produkter som lagras i varje enskild lagerplats i ditt lager, tillsammans med en löpande summa. Den här löpande summan används för att skapa en spårningslogg så att du kan dubbelkolla ditt arbete och identifiera "krympning".

Loopa igenom en matris med en foreach-sats

Instruktionen foreach ger ett enkelt, rent sätt att iterera genom elementen i en matris. -instruktionen foreach bearbetar matriselement i ökande indexordning, från index 0 och slutar med indexlängd - 1. Den använder en tillfällig variabel för att lagra värdet för matriselementet som är associerat med den aktuella iterationen. Varje iteration kör kodblocket som finns under deklarationen foreach .

Här är ett enkelt exempel:

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

Under nyckelordet foreach körs koden som innehåller Console.WriteLine(name); en gång för varje element i names-matrisen. När .NET Runtime loopar igenom varje element i matrisen tilldelas värdet i det aktuella elementet i names-matrisen till den tillfälliga variabeln name så att det är enkelt att komma åt den inne i kodblocket.

Om du körde koden visas följande resultat.

Rowena
Robin
Bao

Använd -instruktionen foreach för att skapa en summa av alla objekt som finns i varje lagerplats i ditt lager.

Skapa och initiera en matris med int

  1. Kontrollera att du har en tom Program.cs fil öppen i Visual Studio Code.

    Om det behövs öppnar du Visual Studio Code och utför sedan följande steg för att förbereda en Program.cs fil i redigeraren:

    1. menyn Arkiv väljer du Öppna mapp.

    2. Använd dialogrutan Öppna mapp för att navigera till och öppna sedan mappen CsharpProjects .

    3. I vyn Visual Studio Code EXPLORER väljer du Program.cs.

    4. På menyn Urval i Visual Studio Code väljer du Välj alla och trycker sedan på Ta bort.

  2. Om du vill skapa en matris av typen int som lagrar antalet färdiga produkter i varje lagerplats anger du följande kod:

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

Lägga till en foreach-instruktion för att iterera via matrisen

  1. Om du vill skapa en foreach instruktion som itererar genom varje element i matrisen inventory anger du följande kod:

    foreach (int items in inventory)
    {
    
    }
    

    Observera att instruktionen foreach tillfälligt tilldelar värdet för det aktuella matriselementet till en int variabel med namnet items.

  2. Kontrollera att koden matchar följande:

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

Lägg till en variabel för att summera värdet för varje element i matrisen

  1. Placera markören på den tomma kodraden ovanför instruktionen foreach .

  2. Om du vill deklarera en ny variabel som representerar summan av alla färdiga produkter i ditt lager anger du följande kod:

    int sum = 0;
    

    Se till att du deklarerar variabeln utanför instruktionen .

  3. Placera markören i kodblocket i -instruktionen foreach .

  4. Om du vill lägga till det aktuella värdet som lagras i items variabeln sum anger du följande kod:

    sum += items;
    
  5. Se till att koden matchar följande:

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

Visa det slutliga värdet för summan

  1. Skapa en tom kodrad under kodblocket för -instruktionen foreach .

  2. Om du vill rapportera den slutliga summan av objekt i lagret anger du följande kod:

    Console.WriteLine($"We have {sum} items in inventory.");
    
  3. Kontrollera att koden matchar följande:

    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. Klicka på Spara på Visual Studio Code-menyn.

  5. Högerklicka på TestProject för att öppna en terminal på mappen TestProject och välj sedan Öppna i integrerad terminal.

  6. I terminalkommandot skriver du dotnet run och trycker sedan på Retur.

    We have 1775 items in inventory.
    

Skapa en variabel för att lagra det aktuella lagerplatsnumret och visa den löpande summan

För att uppfylla det slutliga kravet för ditt inventeringsrapporteringsprojekt måste du skapa en variabel som innehåller den aktuella iterationen av -instruktionen foreach så att du kan visa lagerplatsen och antalet färdiga objekt i den lagerplatsen, tillsammans med den löpande summan av alla lagerplatser som hittills har redovisats.

  1. Skapa en tom kodrad ovanför instruktionen foreach .

  2. Om du vill deklarera int variabeln med namnet bin som initieras till 0anger du följande kod:

    int bin = 0;
    

    Du använder bin för att lagra antalet lagerplatser vars lager för närvarande bearbetas.

  3. Ange följande kod för att öka foreach varje gång kodblocket körs i kodblocketbin:

    bin++;
    

    Observera att du använder operatorn ++ för att öka värdet för variabeln med 1. Det här är en genväg för bin = bin + 1.

  4. Om du vill rapportera lagerplatsnumret, antalet färdiga produkter i lagerplatsen och den löpande summan av färdiga produkter anger du följande kod i kodblocket foreach efter bin++;:

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

    Den här koden använder räknarvariabeln bin, den tillfälliga foreach variabeln itemsoch sum variabeln för att rapportera inventeringens aktuella tillstånd i ett snyggt formaterat meddelande.

  5. Kontrollera att koden matchar följande:

    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. Spara ändringarna i filen Program.cs och kör sedan programmet.

    Du bör se följande utdata:

    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.
    

Sammanfattning

Här är några saker att komma ihåg om foreach instruktioner och inkrementella värden som du har lärt dig i den här lektionen:

  • Använd en foreach-sats för att iterera genom varje element i en matris så att varje associerat kodblock körs en gång för varje element i matrisen.
  • I foreach-satsen lägger du till värdet för det aktuella elementet i matrisen i en tillfällig variabel, som du kan använda inne i kodblocket.
  • Använd operatorn ++ för att lägga till 1 till det aktuella värdet för en variabel.