循环中检测到无法访问的代码

Shu*_*Das 0 java eclipse

为什么我在else循环中的'b'上检测到无法访问的代码?

private void a1_Click(object sender, EventArgs e)
    {
        Button b = (Button)sender;

        if (true)
        {
            b.Text = "X";
        }
        else
        {
            b.Text = "O";
        }
        turn = !turn;

    }
Run Code Online (Sandbox Code Playgroud)

Sel*_*bor 6

看起来你打算写:

private void a1_Click(object sender, EventArgs e)
{
    Button b = (Button)sender;

    if (turn)
    {
        b.Text = "X";
    }
    else
    {
        b.Text = "O";
    }
    turn = !turn;

}
Run Code Online (Sandbox Code Playgroud)

如前所述,if(true)将始终对块进行评估,使else块无法访问.

注意:这里只是一个注释,这将是我使用三元运算符的地方(只要您遵循的约定允许您.[运算符的使用应该是一致的]).

你会得到b.Text = turn ? "X" : "O"而不是if/else块.您还可以将"X"和"O"声明为静态最终变量中的常量,以提高可读性并使修改更容易.

  • 很明显这是某种井字游戏程序,他试图在每次点击时翻转一个正方形 (3认同)
  • 就在他的例子中,为什么这会被贬低? (2认同)