赋值的左侧必须是变量属性或索引器

时间:2015-06-23 13:32:43

标签: c# compiler-errors

我正在尝试创建一些代码,用于确定a和B是否位于2D阵列上的完全相同的位置(称为gameBoard),无论它们在哪里相遇。

现在我尝试通过创建两个单独的整数(称为行和列)来实现这一点,这些整数在BoardWidthBoardHeight(常量整数设置为10)上递增,但我一直在错误"作业的左侧必须是变量属性或索引器。"

现在虽然我认为由于编写if语句的方式而发生此错误,但我不知道如何在不破坏功能的情况下进行更改。

这是我的代码:

for (int row = 0; row < BoardWidth; row++)
{
    for (int column = 0; column < BoardHeight; column++)
    {
        if (gameBoard[row, column] == "a" = gameBoard[row, column] == "B")//Where the error is
        {
            //To be written once the error is fixed
        }
    }
}

3 个答案:

答案 0 :(得分:3)

这是因为=条件中的IF赋值运算符如下所示

if (gameBoard[row, column] == "a" = gameBoard[row, column] == "B")
                                  ^....Here

我认为你打算使用|| OR条件,比如

if (gameBoard[row, column] == "a" || gameBoard[row, column] == "B")

答案 1 :(得分:1)

xx = arange(0.0,10.0,0.5) yy = sin(xx) plt.plot(xx,yy,'k-',marker='o',markerfacecolor='none') 评估为gameBoard[row, column] == "a" = gameBoard[row, column] == "B"。由于为true/false = true/false分配值没有意义,因此会出错。

答案 2 :(得分:0)

if (gameBoard[row, column] == "a" = gameBoard[row, column] == "B")

您的两张支票之间有=(作业)。

我想您要检查gameBoard[row, column]的内容是否 B
为此,您必须将=更改为||

if (gameBoard[row, column] == "a" || gameBoard[row, column] == "B")