【发布时间】:2013-04-21 12:51:15
【问题描述】:
为什么会这样?
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;
}
}
}
我认为编译器会在我每次按下按钮时读取这些行,因此两个 if 语句相继出现应该没有什么不同。
【问题讨论】:
-
简短回答:在第二种方法中,2 个 if/then 语句不是独立的。第一影响第二。
-
这实际上并不特定于 C#,这种类型的代码会在每种编程语言中产生相同的问题。
-
非常感谢大家的帮助!
标签: c# if-statement syntax