繁体   English   中英

C#如何在if语句中比较多个数组值(字符串)?

[英]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"

board[0].Equals(board[1]).Equals(board[2]).Equals("X")改为String.Equals(board[0], board[1]) && String.Equals(board[1], board[2]) && String.Equals(board[2], "X")

这是关于在 c# 中比较字符串文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM