2012-11-21 11 views

答えて

18

は、それはあなたが

if ((condition1 && count > 6) || !condition2) 
    SomeMethod(); 
0

?のみ値の割り当てのために働く条件演算子を記述しようとしているように聞こえます。結果はどちらも同じであるので、一つにいた場合しかし、あなたは間違いなく、両方折り畳むことができますよう

if ((condition1 == true && count > 6) || condition2 == false) 
      { 
       dothismethod(value); 
      } 

あるいはより簡潔:

if ((condition1 && count > 6) || !condition2) dothismethod(value); 
4

string message = hasError ? "There's an error!" : "Everything seems fine...";

MSDN:そうのように、三項演算子と呼ばれています、そしてあなたが条件に基づいて、いくつかの変数に値を代入したいときには使われています:

if ((condition1 == true && count > 6) || condition2 == false) 
{ 
    dothismethod(value); 
} 

しかし、個人的に、私は別の変数として、あなたの最初の式を定義しますので、あなたの文が明確になる場合:

bool meaningfulConditionName = (condition1 == true) && count > 6; 
if (meaningfulConditionName || !condition2) 
{ 
    dothismethod(value); 
} 
関連する問題