小编foa*_*amu的帖子

未分配的变量和“并非所有代码路径都返回值”的解决方法?

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; 
}
Run Code Online (Sandbox Code Playgroud)

目前看来,我无法返回,guess因为它尚未分配。我通常会通过指定guess一个随机字符来解决这个问题。由于while循环将一直持续到输入az的有效字符为止,因此可以确信,返回时将az的字符分配给guess。我个人不喜欢这种解决方法,因为对我来说,它很草率。

我的问题是:有什么方法可以让猜测保持初始化,但在方法开始时仍未分配,并且仍然可以在方法执行结束之前正确设置和返回它?

c# methods performance return-value

3
推荐指数
1
解决办法
116
查看次数

标签 统计

c# ×1

methods ×1

performance ×1

return-value ×1