只有在所有条件都满足的情况下

本文关键字:满足 情况下 有条件 | 更新日期: 2023-09-27 18:10:22

我有这个代码,采取一个2d数组,并把它们变成字符串写入一个文件,它检查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行

只有在所有条件都满足的情况下

最好检查可能的匹配,然后跳过那一行,只包含那些规则的例外。这使得代码更容易阅读。

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);
}

如果没有看到gridcomboBox#变量中的内容,很难说还有什么可以打破这个