2011-01-07 16 views
32

Tüm noob burada çok nazik olun. Her yere baktım ve bunun cevabını göremiyorum. Aşağıdakileri nasıl yoğunlaştırırım?If-else-statement

if (expression) 
{ 
    return true; 
} 
else 
{ 
    return false; 
} 

Bir şey döndürme/bir şey döndürme nedeniyle işe yaramaya çalışmıyorum. Zaten bu gibi şeyler gördüm: Dediğim gibi

somevar = (expression) ? value1 : value2; 

,

cevap

68
return (expression) ? value1 : value2; 

Eğer value1 ve value2 aslında true ve örnekte olduğu gibi false olan :) lütfen nazik olun, belgeyi yanı sadece

return expression; 
+26

Açıklama için bu bir "üçlü operatör" – jcolebrand

+0

Birlikte çalıştığımızda aslında haklıydı denir "? Getiri (ifade) değer1'e: değer2;" ama onu uzun yolun hemen altına koydum. Yani, "kod ulaşılamaz" konusunda bir hatam var çünkü bu ifadeye asla ulaşamayacaktı. Yine de "iade ifadesi;" daha mantıklı ... teşekkürler! – snickered

+4

Aslında 'Üçlü' sadece üç maddeden oluşan anlamına gelir, bir Koşullu operatör olarak adlandırılır. http://msdn.microsoft.com/en-us/library/ty67wk28(v=vs.80).aspx – Joel

7

tek şey sizin durumda gerekiyordu geçerli:

return expression; 

ifadesinin kendisi true veya false bir boolean değeri değerlendiren, bu yüzden bir if bloğu (hatta ?: operatörü) olması gereksiz olmasıdır sebebi. expression bir boolean döndüren

return expression; 
+0

gibi bir işlev olduğunda istisnalar atar _why_ diye anladığını sanmıyorum, o bölümü açıklayabilirdiniz, ama evet, bu benim yapacağım şeydi. – jcolebrand

2

boolean.

Örnek

return (a > b) 
3

, sadece bunun sonucunu döndürebilir: İfade yana