@kongoveckan: { }
definierar ett block i C#, och alla variabler deklarerade inne i blocket existerar endast inne i blocket. T.ex:
int i = 4;
{
int j = i + 3; // Ok, i är deklarerad utanför och kan användas här.
}
j = 6; // Fel, j slutade existera vid } ovanför.
Här använder jag bara ett block som det är, vilket är ganska ovanligt i riktig kod. Men samma princip gäller när du använder block för t.ex. do-while, if, for, klassmetoder, o.s.v.
Du måste alltså som du är inne på deklarera celsius
utanför loopen för att kunna använda den i loop-villkoret, eftersom villkoret ligger utanför blocket som do-while-loopen upprepar. Du behöver dock inte ge variabeln något värde när den deklareras eftersom den får ett värde i början av loopen.