.net, c#, sql et autres technos.
[c#] Qu’est ce que l’opérateur ternaire ou opérateur conditionnel ?
TweeterL’équivalent en php c’est ici :: Equivalent en php
En c#, l’opérateur ternaire est le signe « ? » qui fait parti de l’expression conditionnelle (ou ternaire au choix, Conditional operator ou ternary operator pour ceux qui chercheraient des explications en Anglais sur Msdn).
L’expression conditionnelle permet d’écrire une boucle if / else sur une seule ligne.
Par contre, la syntaxe de cette condition rend la lisibilité du code beaucoup plus compliquée. Dans certain cas elle peut néanmoins la rendre plus ‘esthétique’. (Pour certain calcul ou pour générer des phrases par exemple).
Niveau optimisation, le temps d’exécution des deux conditions semblent être équivalent (en c#).
(condition) ? valVrai : valFaux;
Cette expression est l’équivalent d’une boucle if else
If( condition){ { retourne valVrai ;} Else {retourne valFaux;}
Si condition est vrai alors on renvoie valVrai sinon on renvoie valFaux.
Le résultat de Condition doit être un booléen.
Val1 et val2 doivent être de même type.
Attention, l’opérateur conditionnel est associatif à droite.
Ainsi l’expression
a ? b : c ? d : e
sera comprise comme l’expression suivante :
a ? b : (c ? d : e)
Exemples
Expression conditionnelle
int moyenne = 13 ;
string resultat = (moyenne <10) ? « refusé » : « admis » ;
//resultat = "admis"
Équivalent avec des boucles if else
int moyenne = 13 ;
string resultat = (moyenne <10) ? « refusé » : « admis » ;
//resultat = "admis"
Expressions conditionnelles imbriquées
int moyenne = 13 ;
string resultat = (moyenne <10) ? « refusé » : (moyenne > 15) ? « admis avec mention» : "admis";
//resultat = "admis"
Et si vous avez envie d'en savoir plus sur l'instruction 'Switch' je vous invite à lire : L'instruction Switch
(Dessin provenant du site Study : C Program: Find out the Largest Number by using Ternary Operator: )
Mots clefs liés à cet article:
- ternaire C#
- opérateur ternaire c#
- c# ternaire
- c# operateur ternaire
- if ternaire
- condition ternaire c#
- if ternaire c#
- c# condition ternaire
- operateur ternaire
- operateur ternaire c
Imprimer l'article | Cette entrée a été posté par adminArnaud le 28 juillet 2010 à 7 h 55 min, et placée dans C#. Vous pouvez suivre les réponses à cette entrée via RSS 2.0. Vous pouvez laisser une réponse, ou bien un trackback depuis votre site. |
about 1 year ago
Bonjour,
Je suis en train d’apprendre le C# et je ne trouve pas de solution a mon probleme.
Je bloque sur l’opérateur ternaire !! 🙂
Voici mon code :
Pourquoi ‘les nombres sont différents’ ne s’affichent pas ?
Je suis sous sharp develop,
J’ai pour erreur :
Citation : sharp develop
Merci de votre aide !
about 1 year ago
Bonjours Thomas,
Ton problème ne vient pas du ternaire. En fait tu es entrain d’essayer de mettre le retour de ton Console.Write() dans un string.
Ta fonction Console.write() retourne un void d’où le message d’erreur.
Fait