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

the left hand side of an assignment must be a variable property or indexer

我正在尝试创建一些代码来确定 a 和 B 是否位于二维数组(称为 gameBoard)中的完全相同的位置,而不管它们在哪里相遇。

现在我试图通过创建两个单独的整数(称为行和列)来实现这一点,它们在 BoardWidthBoardHeight(它们是设置为 10 的常量整数)上递增,但是我不断收到 "the left hand side of an assignment must be a variable property or indexer."

的错误

现在虽然我认为这个错误是由于 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

我想你是想使用 ||

这样的条件
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")