這是爲啥工作?
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