2011-01-07 9 views
32

ここでは、合計のnoobが優しくなっています。私はどこにでも見てきましたが、これに対する答えを見つけることができないようです。どのように私は以下を凝縮するのですか?ライナーのif文、if-else-statementを変換する方法

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

何かを戻して何かを戻しているので、私はそれを動作させることができません。私はすでにこのようなものを見てきました:

somevar = (expression) ? value1 : value2; 

私が言ったように、優しくしてください:)

答えて

68
return (expression) ? value1 : value2; 

value1value2が実際にあなたの例のようにtruefalseであれば、あなたにもよいですただ

return expression; 
+26

、これは私がそれをしようとしたとき、私は実際にそれを右に持っていた – jcolebrand

+0

「三項演算子」と呼ばれる「リターン(表現)をvalue1:?値2;」しかし私はそれをちょうど真っ先に置いた。だから、 "コードに到達できません"というエラーが出てきました。なぜなら、それは決してそのステートメントに到達しないからです。私はとにかく "返品表現"でも尋ねてうれしいです。感謝します...ありがとう! – snickered

+4

実際には、「3値」は3つのアイテムで構成されていることを意味し、条件演算子と呼ばれます。 http://msdn.microsoft.com/en-us/library/ty67wk28(v=vs.80).aspx – Joel

7

あなたはあなたのケースで必要があると思いますすべてがある:

return expression; 

発現自体がtrue又はfalseのブール値に評価することであるので、それはifブロック(あるいは?:オペレータ)を有するように冗長だ理由。表現以来

+0

私は彼が_why_を理解しているとは思わないので、その部分を説明するかもしれないが、そうです。 – jcolebrand

2

はbooleanです:

return expression; 
3

expressionはブール値を返す場合、あなたはそれの結果を返すことができます。明確にするため

return (a > b) 
関連する問題