Frage

int five = 5;
  • Wenn die Variable Five gleich 5 ist, schreiben Sie true
  • Wenn die Variable Five nicht gleich 5 ist, schreiben Sie falsche

Wie schreibe ich eine Erklärung dazu in ASP.NET mit C#?

War es hilfreich?

Lösung

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

Ich sehe, dass Sie dies verwenden möchten, um die Werte in ASP.NET zu schreiben, die answer Die String hält Ihren gewünschten Wert und verwenden Sie dies, wie Sie möchten.

Andere Tipps

Der ternäre Operator in nahezu jeder Sprache funktioniert als Inline -If -Anweisung:

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

(Sie sollten die inneren Parens nicht ausschließlich brauchen, aber ich möchte sie aus Gründen der Klarheit einbeziehen.)

Wenn der Boolesche an True bewertet wird, ist der gesamte Ausdruck gleich dem Wert zwischen dem ? und :. Wenn der Boolesche an False bewertet wird, entspricht der Ausdruck dem Wert nach dem :.

Ich glaube nicht, dass Sie Codezeilen in die Mitte des Bedieners aufnehmen können. Dies sollen einfach Ausdrücke sein, die den gesamten Operator "Phrase" ersetzen, sobald die Bedingung bewertet wurde.

Ich bin ein Java -Typ und weiß nicht wirklich C#; Vielleicht ist es anders. Aber wahrscheinlich nicht.

Sie könnten es wirklich einfach halten. Der Vergleich von fünf bis 5 führt zu einem Booleschen, daher ist auch das Folgende möglich:

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

Das bool Typ Tostring () Die Methode ist bereits so konzipiert, dass sie "true" oder "false" zurückgeben, und wenn die Kleinbuchstabenalternative benötigt wird, ist das auch einfach:

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

Wenn Sie es nicht benötigen, können Sie auch das ToString vollständig beseitigen:

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

In ASP.NET, deklarativ (dh, wo die HTML geht):

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

Oder alternativ im Code dahinter (dh Ihr C# Code und Ihre Klassen):

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

Für dieses Beispiel würde ich den ternären Operator überhaupt nicht verwenden:

Response.Write(five == 5);

Nur um sicher zu sein, sollten Sie Ihre ternären Ausdrücke in parens () einsetzen, weil der ternäre Operator?

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

Bei diesem Beispiel ist es wahrscheinlich nicht wichtig, aber wenn der Ternär Teil eines komplexen Ausdrucks ist, können Vorrangregeln den Compiler den Ausdruck anders interpretieren als das, was Sie beabsichtigt haben.

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

Es funktioniert so:

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

BEARBEITEN:

Was ich wahrscheinlich Thinking gewesen hatte:

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

Noch eine Variation:

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

Die einfachste Sache ist Console.WriteLine ((fünf == 5) .ToString ());

Aus @Johnks Kommentargebrauch:

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

Repräsentiert den booleschen Wert true/false als Zeichenfolge. Dieses Feld ist schreibgeschützt.https://msdn.microsoft.com/en-us/library/system.boolean.ruestring(v=vs.110).aspx

Verwenden der ternären Operatoranweisung in C# mit Eval. (In ASPX -Seite)

<span><%# Eval("productname").ToString().Length<=0 ? "<label style=\"color: red;\">Notes<span></span></label>" : "<label style=\"color: blue;\">Notes<span></span></label>"%></span>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top