【发布时间】:2014-07-26 04:23:08
【问题描述】:
我有这段代码,它采用二维数组并将它们转换为要作为文件写入的字符串,它检查 4 个组合框以尝试不写入具有所有 4 个组合框值的行。发生的事情是它没有用任何组合框值写入任何行。请帮忙,谢谢
if (grid[i][3] != comboBox4.Text && grid[i][0] != comboBox1.Text && grid[i][1] != comboBox2.Text
&& grid[i][2] != comboBox3.Text)
{
string gridstring = String.Join(",", grid[i]);
MessageBox.Show(gridstring);
tw.WriteLine(gridstring);
}
一些示例伪代码
line1 = a,b,c,d
line1 = b,c,d,e
line1 = e,f,g,h
line1 = h,I,j,k
如果 line 不包含 a,b,c,d 则写入,这样只有第 1 行不会被写入,但目前它会跳过前 2 行
【问题讨论】:
-
你试过调试吗?
-
您是否尝试过使用调试器进行调试并逐步查看变量中的值?特别是
grid。如果 MessageBox 没有弹出,您似乎根本就没有到达,这意味着 if 语句的评估结果为 false。 -
期望的行为是什么?你能举个例子吗?
-
如果在Visual Studio中点击左侧的“死区”,会出现一个红色圆圈。该圆圈称为断点。当您运行程序时,流程将在断点处停止。然后,您可以将鼠标悬停在任何变量(甚至条件本身)上,看看为什么它的评估结果为假(如果是的话)。
-
感谢您的反馈,但我仍然不明白。显示每个组合框和每个网格行中的内容,并给出预期的输出。
标签: c# if-statement