2012-11-21 17 views
5

W języku C# w jaki sposób mogę wyrazić następujące jeżeli else stosując krótszą metodę (z):C# czy inny skrót

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

      } 
      else if (condition2 == false) 
      { 

       dothismethod(value); 
      } 

Mój kod wygląda naprawdę bałagan z tymi stwierdzeniami. Czy ktoś może skierować mnie do dobrego zasobu, jeśli w innym razie skrócona składnia?

Odpowiedz

18

Brzmi jak próbujesz napisać

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

operatora warunkowego ? działa tylko w przypadku przypisania wartości. Ale na pewno można złożyć zarówno jeśli do jednego ze skoro wynik jest taki sam dla obu:

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

lub nawet bardziej zwięzły jak:

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

twój może napisać go jak :

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

Ale osobiście, chciałbym zdefiniować swój pierwszy wyraz w innej zmiennej, więc jeśli oświadczenie staje się jaśniejsze:

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