Question

int five = 5;
  • lorsque les cinq variables est égale à 5, écrire true
  • lorsque les cinq variables n'est pas égal à 5, écrire false

Comment puis-je écrire une déclaration pour cela dans ASP.NET en utilisant C #?

Était-ce utile?

La solution

int five = 5;
string answer = five == 5 ? "true" : "false";

Je vois que vous voulez utiliser pour écrire les valeurs dans ASP.NET, la chaîne de answer tiendra votre valeur désirée, l'utiliser comme vous s'il vous plaît.

Autres conseils

L'opérateur ternaire dans à peu près toutes les langues fonctionne comme une ligne instruction if:

Console.WriteLine((five == 5) ? 'true' : 'false');

(Vous ne devriez pas strictement besoin des parens internes, mais je tiens à les inclure pour plus de clarté.)

Si le booléens true, l'expression entière est égale à la valeur entre le ? et :. Si le booléens false, l'expression est égale à la valeur après la :.

Je ne crois pas que vous pouvez inclure des lignes de code au milieu de l'opérateur. Ceux-ci sont simplement supposés être des expressions qui remplacent l'opérateur entier « phrase » une fois que la condition est évaluée.

Je suis un gars Java et ne sais pas vraiment C #; peut-être est différent. Mais probablement pas.

Vous pouvez le garder très simple. En comparant cinq à 5 résultats dans un booléen, donc ce qui suit est également possible:

int five = 5;
Console.WriteLine((five == 5).ToString());

La méthode bool Type de ToString () est déjà conçu pour revenir "Vrai" ou "Faux", et si l'alternative minuscule est nécessaire, thats simple aussi:

int five = 5;
Console.WriteLine((five == 5).ToString().ToLower());

Si vous ne avez pas besoin en minuscules, vous pouvez réellement éliminer complètement le ToString ainsi:

int five = 5;
Console.WriteLine(five == 5);

Dans ASP.NET, déclarative (i.e., où le HTML va):

<p>Is this five? <%= yourVariable == 5 ? "true" : "false"; %></p>

Ou, alternativement, dans le code derrière (à savoir où votre code C # et les classes sont):

someTextBox.Text = yourVariable == 5 ? "true" : "false";
Response.Write(five == 5 ? "True" : "False");

Bien que, pour cet exemple, je ne voudrais pas utiliser l'opérateur ternaire du tout:

Response.Write(five == 5);

Juste pour être sûr, vous devez mettre vos expressions ternaires dans parens (), parce que l'opérateur ternaire:. A la priorité subtile qui peut vous mordre si vous n'êtes pas en train de regarder

string answer = ( (five==5) ? ("true") : ("false") );

Il est probablement pas important cet exemple, mais si le ternaire fait partie d'une expression complexe, les règles de priorité peut faire le compilateur interpréter l'expression différente de ce que vous avez voulu.

five==5?console.writeline('true'):console.writeline('false')

Il fonctionne comme ceci:

<if-expression> ? <code-when-if-expression-evaluates-true> : <code-when-if-expression-evaluates-false>

EDIT:

Ce que j'avais probablement été thkinking:

<%=five==5?'true':'false'%>

Une autre variante:

string message = XmlConvert.ToString(5 == five);
Console.Write(message);

simple est Console.WriteLine ((cinq == 5) .ToString ());

De @ utilisation de commentaires de Johnk:

int five = 5;
string answer = five == 5 ? bool.TrueString : bool.FalseString;

Représente la valeur booléenne true / false comme une chaîne. Ce champ est en lecture seule. https://msdn.microsoft .com / fr-fr / bibliothèque / system.boolean.truestring (v = vs.110) .aspx

using opérateur ternaire c # avec Eval. (En page ASPX)

<span><%# Eval("productname").ToString().Length<=0 ? "<label style=\"color: red;\">Notes<span></span></label>" : "<label style=\"color: blue;\">Notes<span></span></label>"%></span>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top