C# tillåter inte att man använder variabler innan man givit dem ett värde. Om du tar bort while-loopen så har du lite förenklat detta:
int cel;
do
{
try
{
fahr = int.Parse(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine(e.Message);
continue;
}
cel = Fahrtocel(fahr);
...
}
while (cel <= 73 || cel >= 77);
Om användaren matar in ett felaktigt värde så körs catch-satsen och continue;
används för att hoppa över resten av loopen. Så långt allt rätt.
Men när du använder continue
så kommer fortfarande while-villkoret att utvärderas för att kolla om loopen ska fortsätta med nästa iteration eller inte. Och eftersom även tilldelningen till cel
hoppades över med continue
så får du då fel eftersom cel
används i while-villkoret utan att ha något värde.
Den enklaste lösningen är att helt enkelt se till att cel
alltid har ett värde genom att ge den ett värde redan när den deklareras, t.ex. int cel = 0;
.
Tack så jättemycket! Nu fick jag ihop det!
Spelnyheter från FZ
Copyright © 1999–2025 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.