private static char GetGuess()
{
char guess;
bool guessInputSuccess = false;
while (!guessInputSuccess)
{
Console.Write("Guess your letter: ");
char.TryParse(Console.ReadLine().ToLower(),out guess);
if (!char.IsLetter(guess))
{
Console.Write("You have not entered a letter from a-z.");
}
else
{
guessInputSuccess = true;
}
}
return guess;
}
目前看来,我无法返回guess
,因为它尚未分配。我通常会解决此问题的方法是将guess
分配给一个随机字符。由于while
循环将一直持续到输入a-z中的有效字符,因此可以确信,到返回时,a-z中的字符将被分配给guess
。我个人不喜欢这种解决方法,因为对我来说,这很草率。
我的问题是:有什么办法可以使猜测保持初始化但在方法开始时未分配,并且仍然可以在方法执行结束之前正确设置和返回它?