赋值的左侧必须是变量属性或索引器
本文关键字:属性 变量 索引 赋值 | 更新日期: 2023-09-27 17:59:25
我正在尝试创建一些代码,以确定a和B是否在2D阵列(称为gameBoard
)上完全相同的位置,无论它们在哪里相遇。
现在,我试图通过创建两个单独的整数(称为行和列)来实现这一点,这两个整数在BoardWidth
和BoardHeight
(它们是设置为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")