2012-05-08 14 views
2

簡単な例:トグル - 2つの状態の間でトグルのエレガントな方法

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

それが正常に動作しますが、このトグルをコーディングするのが別の方法がありますか?おそらくもっと短い、よりエレガントなロジック。

+0

私の答えを見てください –

答えて

3

if-else節に文が1つしかない場合は、中括弧を削除できます。 だからあなたのコードでは、我々は、彼らがすべての競合が発生しない場合、我々はまた、私たちの文からthisを削除することができます三項演算子

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

を使用することができます

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

OR

のようになります。

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

@whytheq:これはあなたのコードを書くのに最もきれいな方法です。 –

+0

はきれいですか? - あなたの道のりや道のりは?私はそれがより短くて(そしてきれいに)見ることができますが、なぜそれは "クリーナー"です – whytheq

+0

@whytheq:私の答えを編集しました。それを見てください。 –

関連する問題