[英]C# How to compare multiple array values (strings) in if-statement?
我正在使用数组制作井字游戏。 要查看是否有人获胜,我必须检查是否有获胜组合。 这是我的电路板阵列
string[] board = new string[9] { " ", " ", " ", " ", " ", " " , " ", " ", " " };
起初,董事会是空的。 然后 2 名玩家开始放置“X”和“O”。 但是我无法比较,例如,如果第一行全是“X”。 下面的代码由于某种原因不起作用。 我不知道为什么?
board[0].Equals(board[1]).Equals(board[2]).Equals("X")
我也试过board[0]==board[1]==board[2]=="X"
这是完整的 if 语句(这些是获胜组合):
if (table[0].Equals(table[1]).Equals(table[2]).Equals("X") || table[3].Equals(table[4]).Equals(table[5]).Equals("X") || table[6].Equals(table[7]).Equals(table[8]).Equals("X") ||
table[0].Equals(table[3]).Equals(table[6]).Equals("X") || table[1].Equals(table[4]).Equals(table[7]).Equals("X") || table[2].Equals(table[5]).Equals(table[8]).Equals("X") ||
table[0].Equals(table[4]).Equals(table[8]).Equals("X") || table[7].Equals(table[4]).Equals(table[3]).Equals("X"))
{
return true;
}
在 c# 中,你不能使用
if (a == b == c)
相反,您必须明确:
if (a == b && b == c)
所以代替
board[0].Equals(board[1]).Equals(board[2]).Equals("X")
你必须写
board[0] == "X" && board[1] == "X" && board[2] == "X"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.