我有这个代码,它采用2d数组并将它们转换为字符串以作为文件写入,它检查4个组合框,试图不写入具有所有4个comboBox值的行。发生的事情是它没有用任何组合框值写任何行。请帮助和谢谢
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
如果行不包含a,b,c,d则写入,这样只会写入第1行,但是当前它会跳过第2行
答案 0 :(得分:2)
最好检查可能的匹配,然后跳过该行,只包括那些作为规则例外的内容。这使代码更容易阅读。
if (grid[i][0] == comboBox1.Text
&& grid[i][1] == comboBox2.Text
&& grid[i][2] == comboBox3.Text
&& grid[i][3] == comboBox4.Text)
{
continue;
}
else
{
string gridstring = String.Join(",", grid[i]);
MessageBox.Show(gridstring);
tw.WriteLine(gridstring);
}
如果没有看到grid
和comboBox#
变量中的内容,那么很难说其他什么可以打破这个。