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

本文关键字:属性 变量 索引 赋值 | 更新日期: 2023-09-27 17:59:25

我正在尝试创建一些代码,以确定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
        }
    }
}

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

这是因为下面指出的IF条件中的=赋值运算符

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

我想你是想使用|| OR条件,比如

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

gameBoard[row, column] == "a" = gameBoard[row, column] == "B"的求值结果为true/false = true/false。由于为true/false赋值没有意义,因此会出现错误。

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

在你的两张支票之间有一张=(一项任务)。

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

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