Opérateur conditionnel

Définition - Que signifie opérateur conditionnel ?

Un opérateur conditionnel en C #, est un opérateur qui prend trois opérandes (conditions à vérifier), la valeur lorsque la condition est vraie et la valeur lorsque la condition est fausse.

Un opérateur conditionnel est représenté par le symbole "?:". Le premier opérande (spécifié avant le "?:") est l'expression d'évaluation (conditionnelle). Il doit être tel que le type d'expression évaluée puisse être implicitement converti en "bool" ou qui implémente l'opérateur "vrai" afin d'éviter les erreurs de compilation. Les deuxième et troisième opérandes contrôlent le type d'expression conditionnelle. Il est plus souvent utilisé dans les affectations et non comme une instruction produisant des erreurs de compilation.

Si la valeur de retour du premier opérande (expression conditionnelle) est "vrai", le deuxième opérande est évalué. Sinon, le troisième opérande est évalué. Par conséquent, le résultat de l'opérateur conditionnel est le résultat de l'évaluation de l'expression considérée pour l'évaluation.

Pour une expression énoncée comme x? A: b, l'opérande a sera évalué si seul l'opérande x (l'expression conditionnelle) renvoie vrai. Sinon, l'opérande b sera évalué.

Ce terme est également connu sous le nom d'opérateur ternaire ou en ligne if (iif).

Definir Tech explique l'opérateur conditionnel

Un opérateur conditionnel est le seul opérateur ternaire (prenant trois opérandes) en C #. Il se présente comme une alternative à la construction elle-même, qui offre une meilleure concision avec moins de code et une meilleure lisibilité. Lors de la compilation, le compilateur C # traduit l'expression ternaire en instructions de branche, ce qui peut condenser plusieurs instructions if et réduire l'imbrication au niveau du code source. Parfois, le code généré pour un opérateur ternaire peut améliorer les performances en réorganisant certaines instructions.

Les propriétés d'un opérateur conditionnel sont :

  • Il est associatif à droite, ce qui implique que les opérations sont regroupées de droite à gauche.
  • Il évalue toujours l'une des deux expressions spécifiées après le symbole d'opérateur conditionnel. Il n'évalue jamais les deux.
  • Le premier opérande doit être de type intégral ou pointeur.
  • Les deuxième et troisième opérandes doivent être convertibles entre eux et non mutuellement convertibles en un autre type.
  • Le type de résultat est le type commun, qui est une valeur l, mais uniquement si les deuxième et troisième opérandes sont du même type et que les deux sont des valeurs l.
  • Seuls l'appel d'affectation, l'incrémentation, la décrémentation et la nouvelle expression d'objet peuvent être utilisés comme instruction.
  • Lorsque le résultat de l'évaluation d'une expression à l'aide d'un opérateur ternaire est utilisé dans une instruction de retour de méthode, son type doit correspondre au type de retour de la méthode englobante pour une compilation réussie.
  • Lorsque le résultat n'est pas une constante, le type d'expression conditionnelle est basé sur le plus courant des deux types.

Cette définition a été écrite dans le contexte de C #.