2015-06-23 76 views
0

我試圖創建一些代碼來確定a和b是否在二維數組上的完全相同的位置(稱爲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

這裏' 「A」=遊戲鍵盤[行,列]'了'='是錯誤的。也許它應該是'||' – xanatos

+1

你的if語句中有無效的語法。 '='(一個等於)是賦值運算符。你顯然不能將'gameBoard [row,column] ==「B」'賦值給''a「',因爲'」a「'是一個常量。 –

+0

也許應該是'if((gameBoard [row,column] ==「a」)=(gameBoard [row,column] ==「B」))'?不知道C#是否接受,我知道老的語言會。 – RBarryYoung

回答

3

因爲在你IF條件=賦值運算符將其視爲指出以下

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

我想你的意思是使用|| OR條件像

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

從文本中,我認爲這將是一個與OP在這裏尋找。 –

+1

@KenWhite,'gameBoard [row,column]'同時是'a'和'B'如何?你指的是帖子中的文字,如果a和b在同一個地方,但我不確定 – Rahul

+1

你是對的。我不知道OP在這裏再次閱讀之後想要做什麼。 –

1

gameBoard[row, column] == "a" = gameBoard[row, column] == "B"評估爲true/false = true/false。由於將值賦予true/false沒有任何意義,因此會出現錯誤。

+0

所以這就是爲什麼它有一個稻穀在我身上。感謝您的指導 –

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

這裏,你有你的兩次檢查之間的=(分配)。

我想你想檢查的gameBoard[row, column]內容一個
要做到這一點,你必須改變=||

if (gameBoard[row, column] == "a" || gameBoard[row, column] == "B") 
相關問題