我尝试运行我的程序,并将我的代码与我朋友的代码进行了比较,但是即使我们尝试更改这些行(我认为错误来自哪里),错误仍然出现:
try
{
FileStream b = new FileStream(@"C:\User\User_2\Desktop\board.txt", FileMode.Open);
StreamReader stream = new StreamReader(b);
int x = 0;
while (!stream.EndOfStream)
{
if (x == 0)
g1 = stream.ReadLine().Split(' ');
else if (x == 1)
g2 = stream.ReadLine().Split(' ');
else if (x == 2)
g3 = stream.ReadLine().Split(' ');
x++;
}
stream.Close();
b.Close();
}
catch (Exception e) { }
该程序用于检查包含以下 3 行的文本文件:
欧。X XO。 X 。○
...看看是否有赢家。
这是 Visual Studio 突出显示错误的部分:
int n = 0;
int m = n + 1;
int o = m + 1;
Boolean result = false;
int winner = 0;
string dw = "";
while (n <= 2)
{
// In this if-statement is the error:
if (g1[n].Equals(g2[n]) && g2[n].Equals(g3[n]) && !g1[n].Equals("."))
{
result = true;
winner++;
dw = g1[n];
}
if (g1[n].Equals(g1[m]) && g1[m].Equals(g1[o]) && !g1[n].Equals("."))
{
result = true;
winner++;
dw = g1[n];
}
else if (g2[n].Equals(g2[m]) && g2[m].Equals(g2[o]) && !g2[n].Equals("."))
{
result = true;
winner++;
dw = g2[n];
}
else if (g3[n].Equals(g3[m]) && g3[m].Equals(g3[o]) && !g3[n].Equals("."))
{
result = true;
winner++;
dw = g3[n];
}
else if (g1[n].Equals(g2[m]) && g2[m].Equals(g3[o]) && !g1[n].Equals("."))
{
result = true;
winner++;
dw = g1[n];
}
else if (g3[n].Equals(g2[m]) && g2[m].Equals(g1[o]) && !g3[n].Equals("."))
{
result = true;
winner++;
dw = g3[n];
}
n++;
}
我真的不知道该怎么办知道,我不能让它工作。
编辑:我尝试在 if 语句之前打印出数组的值,但它没有打印出任何内容。对不起,伙计们,我真的是新来的。