2012-11-21 20 views
5

在C#中我如何表達,如果使用更短​​的方法else語句以下(含):C#的if else快捷

if (condition1 == true && count > 6) 
      { 
       dothismethod(value); 

      } 
      else if (condition2 == false) 
      { 

       dothismethod(value); 
      } 

我的代碼看起來與這些語句非常的混亂。如果其他捷徑語法的話,有人能指導我一個很好的資源嗎?

回答

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

你可以把它寫像:

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

但就個人而言,我會定義你的第一個表達式作爲另一個變量,所以你的if語句變得更加清晰:

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