字段“;program.endgame”;已分配,但从未使用其值

本文关键字:未使用 program endgame 字段 分配 | 更新日期: 2023-09-27 18:25:08

我正在c#中制作一个游戏,我需要设置一个循环来检查玩家的分数是否达到6。当它发生时,静态bool结束游戏将是真的,我用于玩家回合的循环将被打破,以显示获胜者。我一直得到错误"字段"程序。endgame"已分配,但其值从未使用"不知道我为什么得到它,但需要修复

static bool endgame = false;
static void Main()
{
    for (int r = 0; r < PlayerNumber; r++)
    {// make a move for player i
        if (players[r].Score == 6)
        {
            Console.WriteLine(players[r].Nick + " wins the game.");
            endgame = true;
            break;
        }
    }
}

字段“;program.endgame”;已分配,但从未使用其值

这只是一个警告,而不是错误。您收到警告是因为您从未引用游戏结束变量。编译器认为"你可以删除这个变量,你的程序就会完全一样",这是真的。

如果您是为了自己的调试目的而分配变量,或者因为您计划稍后使用它,请随时忽略警告。

您正在寻找的部分如下,但如果您不打算使用它,它仍然毫无用处。

for (int r = 0; r < Player Number && !endgame; r++)

这不是一个错误,而是一个警告,它不会阻止您运行应用程序,但会警告您声明并分配变量,但永远不会使用其值。

除非你打算对endgame变量做任何事情,否则你可以删除它。break将结束循环。

但如果你以后有任何代码检查游戏结束,你就不会再出现这个错误了。