int five = 5;
  • 当变量五等于5时,写入true
  • 当变量五不等于5时,写false

如何使用C#在ASP.NET中为此编写语句?

有帮助吗?

解决方案

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

我看到您想使用它在ASP.NET中写出值 answer 字符串将保持您的理想价值,并随意使用它。

其他提示

The ternary operator in just about every language works as an inline if statement:

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

(You shouldn't strictly need the inner parens, but I like to include them for clarity.)

If the boolean evaluates to true, then the entire expression is equal to the value between the ? and :. If the boolean evaluates to false, the expression equals the value after the :.

I don't believe you can include lines of code in the middle of the operator. These are simply supposed to be expressions that replace the entire operator "phrase" once the condition is evaluated.

I'm a Java guy and don't really know C#; maybe it's different. But probably not.

You could keep it really simple. Comparing five to 5 results in a boolean, so the following is also possible:

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

The bool type's ToString() method is already designed to return "True" or "False", and if the lowercase alternative is needed, thats simple too:

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

If you don't need it lowercased, you can actually completely eliminate the ToString as well:

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

In ASP.NET, declarative (i.e, where the HTML goes):

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

Or, alternatively, in code behind (i.e., where your C# code and classes are):

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

Though, for this example, I wouldn't use the ternary operator at all:

Response.Write(five == 5);

Just to be safe, you should put your ternary expressions in parens (), because the ternary operator ?: has subtle precedence which can bite you if you aren't watching.

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

It's probably not important with this example, but if the ternary is part of a complex expression, precedence rules might make the compiler interpret the expression differently from what you intended.

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

It works like this:

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

EDIT:

What I had probably been thkinking:

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

Yet another variation:

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

Simplest thing is Console.WriteLine((five == 5).ToString());

From @JohnK's comment use:

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

Represents the Boolean value true/false as a string. This field is read-only. https://msdn.microsoft.com/en-us/library/system.boolean.truestring(v=vs.110).aspx

using ternary operator statement in c# with Eval. (In aspx page)

<span><%# Eval("productname").ToString().Length<=0 ? "<label style=\"color: red;\">Notes<span></span></label>" : "<label style=\"color: blue;\">Notes<span></span></label>"%></span>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top