2012-05-08 21 views
2

两种状态之间切换的简单的例子:两个状态之间切换 - 优雅的方式

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

它工作正常,但有编码此开关的替代方式?可能更短,更优雅的逻辑。

+0

看看我的回答 –

回答

3

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

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

OR

我们可以使用三元运算符

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

我们也可以从我们的语句删除this如果他们不造成任何冲突。

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

@whytheq:恕我直言,这是写你的代码最干净的方式。 –

+0

哪个更清洁? - 你的方式还是漫长的路?我可以看到它更短(和更漂亮),但它为什么“更清洁” – whytheq

+0

@whytheq:编辑我的答案。请看看它。 –