2012-05-08 24 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:編輯我的答案。請看看它。 –