在两个州之间切换 - 优雅的方式

时间:2012-05-08 07:07:57

标签: c# logic

在两种状态之间切换的简单示例:

if (this.lblColorChange.BackColor == Color.Red)
{
    this.lblColorChange.BackColor = Color.Blue;
} 
else
{
    this.lblColorChange.BackColor = Color.Red;
}

它工作正常,但有其他方法编码此切换?可能更短,更优雅的逻辑。

1 个答案:

答案 0 :(得分:3)

如果if-else子句中只有一个语句,那么我们可以删除花括号。 所以你的代码就像

if (this.lblColorChange.BackColor == Color.Red)
    this.lblColorChange.BackColor = Color.Blue;
else
    this.lblColorChange.BackColor = Color.Red;

我们可以使用三元运算符

this.lblColorChange.BackColor = 
          this.lblColorChange.BackColor == Color.Red ? Color.Blue : Color.Red;

如果不引起任何冲突,我们也可以从我们的陈述中删除this

lblColorChange.BackColor = 
                lblColorChange.BackColor == Color.Red ? Color.Blue : Color.Red;