C# zadanie domowe: Właśnie dodałem trochę logiki "zagraj ponownie" za pomocą pętli do-while. To był mój oryginalny kod:W jaki sposób zakres wpływa na pętle "do ... while" i na odwrót?
namespace demo
{
class Program
{
static void Main(string[] args)
{
Info myInfo = new Info();
myInfo.DisplayInfo("Daniel Wilson", "4 - Hi-Lo Game");
// I moved String playAgain = "N"; to here
do
{
DWHiLowUI theUI = new DWHiLowUI();
theUI.Play();
String playAgain = "N";
Console.WriteLine("Enter 'Y' to play again, any other key to exit.");
playAgain = Console.ReadLine();
}
while ((playAgain == "Y")||(playAgain =="y"));
Console.ReadLine();
}
}
}
który dał mi błąd:
Error 7 The name 'playAgain' does not exist in the current context
przeniosłem String playAgain = "N";
do linii nad moją do
(patrz komentarz) i to działało dobrze.
Próbuję zrozumieć, co dokładnie I zrobił, aby to naprawić. Wygląda na to, że był to problem zakresu, ale wydaje mi się również, że zdefiniowanie zmiennej w pętli może spowodować przekazanie jej na koniec pętli. Przejrzałem moje podręczniki i nie ma nic o zakresie, który dotyczy pętli. Sugerowałoby mi to, że zakres w pętlach nie jest problemem, ale zachowuje się tak, jakby był to problem zakresu. Myliłem się, myśląc o tym.
Jeśli to był problem zakresu chciałbym mieć lepsze zrozumienie zakresu do...while
pętli w ramach metody. Jeśli to było nie było problem zakresu, to był szczęśliwy z mojej strony. W takim razie, co było nie tak i jak udało się to zmienić w tym wierszu kodu?