2

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

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

它工作得很好,但是有没有其他方法来编码这个切换?可能更短,更优雅的逻辑。

4

1 回答 1

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;
于 2012-05-08T07:09:53.083 回答