Comment l'opérateur ternaire de travail?
Veuillez démontrer comment l'opérateur ternaire travaille avec des if/else bloc. Exemple:
Boolean isValueBig = value > 100 ? true : false;
Copie Exacte: Comment puis-je utiliser l'opérateur ternaire?
devrait "Java", "C" et beaucoup d'autres langues seront ajoutées? Depuis qu'ils ont tout le soutien, l'opérateur ternaire peu de la même manière.
Ajoutée pour vous.
De ne pas être trop pointilleux mais "(condition) ? :" est une expression conditionnelle sous la forme d'un opérateur ternaire. C'est sous la forme d'un opérateur ternaire, parce que ça prend 3 arguments.
Ceci est valable utilisation de l'opérateur ternaire, mais d'une moins-que-stellaires-exemple, parce que le conditionnel expression elle-même est un booléen. Les tests de résoudre à vrai/faux est un peu redondant. Ce serait mieux écrit que: Boolean isValueBig = (valeur > 100);
Doublon de: stackoverflow.com/questions/392932/....
Ajoutée pour vous.
De ne pas être trop pointilleux mais "(condition) ? :" est une expression conditionnelle sous la forme d'un opérateur ternaire. C'est sous la forme d'un opérateur ternaire, parce que ça prend 3 arguments.
Ceci est valable utilisation de l'opérateur ternaire, mais d'une moins-que-stellaires-exemple, parce que le conditionnel expression elle-même est un booléen. Les tests de résoudre à vrai/faux est un peu redondant. Ce serait mieux écrit que: Boolean isValueBig = (valeur > 100);
Doublon de: stackoverflow.com/questions/392932/....
OriginalL'auteur Sara S | 2009-01-20
Vous devez vous connecter pour publier un commentaire.
en fait, dans la réalité, j'espère que vous aimerais simplement utiliser isValueBig = ( valeur > 100 ) ; il fonctionne de la même 😛
OriginalL'auteur Kent Fredric
La différence entre le ternaire de l'opération et si/d'autre est que le ternaire expression est une instruction qui correspond à une valeur, tandis que si/d'autre ne l'est pas.
Pour utiliser votre exemple, la modification de l'utilisation d'un ternaire expression si/d'autre, vous pouvez utiliser cette instruction:
Dans ce cas, cependant, votre déclaration est équivalent à ceci:
OriginalL'auteur Dan Monego
Quand j'étais novice en C++, j'ai trouvé qu'il a aidé à lire cette construction comme suit:
(Notez que ce n'est pas un code valide. C'est juste ce que j'ai formé moi-même à lire dans ma tête.)
OriginalL'auteur Konrad Rudolph
OriginalL'auteur empi
OriginalL'auteur user54650
Je n'ai jamais été un fan de l'opérateur ternaire parce que je pensais que c'était difficile à lire. Comme cela arrive souvent, Jon Skeet et son livre, C# en Profondeur enfin frapper ce vieux chien sur la tête et il a obtenu de sombrer dans. Jon a dit, et je paraphrase, penser à cela comme une question.
Maintenant les aveugles peuvent voir.
Espère que cela vous aide à faire votre seconde nature.
OriginalL'auteur billb
Comme cité de la ?: Opérateur de page MSDN, "l'opérateur conditionnel (?:) retourne l'une des deux valeurs en fonction de la valeur d'une expression Booléenne."
De sorte que vous pouvez utiliser l'opérateur ternaire de retour plus que juste des booléens:
OriginalL'auteur Craig
En PHP par Exemple
La Documentation PHP sur les Opérateurs de Comparaison
OriginalL'auteur Sampson
Assurez-vous que vous ne mélangez pas les types en vrai/faux des pièces en Java. Il produit des résultats bizarres 🙁
OriginalL'auteur Peter Štibraný
Mauvais exemple, parce que vous pouvez facilement écrire
:
Au-delà, tout le monde a déjà répondu. Je voudrais juste ne pas recommander l'utilisation d'ternaire opérateurs pour définir les valeurs bool, depuis que vous êtes de l'évaluation est déjà une valeur booléenne.
Je me rends compte que c'était juste un exemple, mais il convient de souligner.
OriginalL'auteur Brian Rudolph
D'autres ont répondu déjà, mais voici une chose que vous devriez savoir à propos de ternaire d'utilisation et par cela je veux dire ne jamais le faire.
Permet de supposer que vous avez un morceau de code qui est censé renvoyer un objet différent pour chaque variation de la valeur, permet de dire que pour simpliticy du souci d'un entier compris entre 1 et 5. Votre code ressemble à ceci:
C'est facile à comprendre, mais un peu lourd. Depuis ternaire est juste une autre façon d'écrire une instruction if..else qui peut être reconstruit pour ce
Il est appelé imbriquée ternaire. C'est mal, maintenant que vous savez à ce sujet, veuillez ne jamais l'utiliser. Il peut sembler avoir ses utilisations comme le cas ci-dessus, mais il est très probable que, dans les situations de la vie réelle, vous devrez l'utiliser dans un endroit où il perd de la lisibilité (pensez à modifier les configurations avec une quantité variable de paramètres et tel).
Bonus secteur: Jamais mis les valeurs d'attribut à l'intérieur si(), il suffit de regarder ceci:
if(bool=true!=false) { .. }
OriginalL'auteur Esko
Comme cité de MSDN (indiqué dans un précédent post)
string result = (valeur > 100 ) ? "la valeur est grande" : "la valeur est petite";
Pourrait être lu comme suit:
Est de valeur supérieure à 100? Si oui, la chaîne est "la valeur est grande", si non, la chaîne est "la valeur est petite".
OriginalL'auteur