Granska lösningen på utmaningsaktiviteten för variabelomfång
Följande kod är en möjlig lösning för utmaningen från föregående lektion:
int[] numbers = { 4, 8, 15, 16, 23, 42 };
int total = 0;
bool found = false;
foreach (int number in numbers)
{
total += number;
if (number == 42)
found = true;
}
if (found)
Console.WriteLine("Set contains 42");
Console.WriteLine($"Total: {total}");
Den här koden är bara "en möjlig lösning" eftersom du kan ha lagt till radmatningar på olika platser, och du kan ha formaterat koden på ett annat sätt.
De största ändringarna i den problematiska koden var:
- Flytta deklarationen av variablerna
totalochfoundutanför instruktionenforeach. - Initierar både variablerna
totalochfoundmed lämpliga standardvärden. - Ta bort kodblocken (klammerparenteser) från -uttrycken
if.
Oavsett hur du formaterade koden bör du se följande utdata när du kör koden:
Set contains 42
Total: 108
Om du lyckades får vi gratulera! Fortsätt med kunskapstestet i nästa lektion.
Viktigt!
Om du har problem med att slutföra den här uppgiften kan det vara bra att gå igenom tidigare lektioner innan du fortsätter.