web-dev-qa-db-fra.com

Instructions if à une ligne, comment convertir cette instruction if-else

Noob total ici, alors soyez doux. J'ai regardé partout et je n'arrive pas à trouver la réponse à cela. Comment condenser les éléments suivants?

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

Je ne peux pas le faire fonctionner car il renvoie quelque chose par rapport à la définition de quelque chose. J'ai déjà vu des choses comme ça:

somevar = (expression) ? value1 : value2;

Comme je l'ai dit, soyez gentil :)

35
snickered
return (expression) ? value1 : value2;

Si value1 et value2 sont en fait true et false comme dans votre exemple, vous pouvez aussi bien

return expression;
73
James McNellis

Tout ce dont vous avez besoin dans votre cas est:

return expression;

La raison en est que l'expression elle-même est évaluée à une valeur booléenne de true ou false, il est donc redondant d'avoir un bloc if (ou même un ?: opérateur).

7
Jacob

Si expression renvoie un booléen, vous pouvez simplement en renvoyer le résultat.

Exemple

 return (a > b)
3
nabrond

Puisque l'expression est booléenne:

return expression;
2
Mitch Wheat