这是为啥工作?
private void button1_Click(object sender, EventArgs e)
{
if (!checkBox1.Checked)
{
MessageBox.Show("The box is not checked!");
}
if (checkBox1.Checked == true)
{
if (label1.BackColor == Color.Red)
{
label1.BackColor = Color.Blue;
}
else
{
label1.BackColor = Color.Red;
}
}
}
但这不?
private void button1_Click(object sender, EventArgs e)
{
if (!checkBox1.Checked)
{
MessageBox.Show("The box is not checked!");
}
if (checkBox1.Checked == true)
{
if (label1.BackColor == Color.Red)
{
label1.BackColor = Color.Blue;
}
if (label1.BackColor == Color.Blue)
{
label1.BackColor = Color.Red;
}
}
}
我倒觉得compliler会读取行,每行我按下按钮时,所以它不应该有任何的不同有两个后,如果对方的语句。
简答题:在第二种方法中,2 if/then语句不是独立的。第一名影响第二名。 – 2013-04-27 12:01:57
这实际上并不是特定于C#,这种类型的代码会在每种编程语言中产生相同的问题。 – James 2013-04-27 12:37:09
非常感谢帮助! – somethingSomething 2013-04-27 18:34:55