14
int number = 5;
  • 数字等于 5 时,写 true
  • 不等于 5 时,写 false

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

4

11 回答 11

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

我看到您想使用它在 ASP.NET 中写出值,该answer字符串将保存您想要的值,请随意使用。

于 2009-11-05T04:18:10.357 回答
9

几乎所有语言中的三元运算符都用作内联 if 语句:

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

(您不应该严格需要内部括号,但为了清楚起见,我喜欢将它们包括在内。)

如果布尔值计算为真,则整个表达式等于 和 之间的?:。如果布尔值计算为假,则表达式等于:.

我不相信您可以在运算符中间包含代码行。一旦条件被评估,这些应该只是替换整个运算符“短语”的表达式。

我是一个 Java 人,并不真正了解 C#;也许它是不同的。但可能不是。

于 2009-11-05T04:25:21.997 回答
4

你可以保持非常简单。比较 5 到 5 的结果是一个布尔值,因此以下也是可能的:

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

bool类型的ToString ()方法已经设计为返回“True”或“False”,如果需要小写替代,那也很简单:

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

如果您不需要它小写,您实际上也可以完全消除 ToString :

int five = 5;
Console.WriteLine(five == 5);
于 2009-11-05T05:23:04.673 回答
2

在 ASP.NET 中,声明式(即 HTML 所在的位置):

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

或者,在代码后面(即,您的 C# 代码和类所在的位置):

someTextBox.Text = yourVariable == 5 ? "true" : "false";
于 2009-11-05T04:24:45.260 回答
1
Response.Write(five == 5 ? "True" : "False");

虽然,对于这个例子,我根本不会使用三元运算符:

Response.Write(five == 5);
于 2009-11-05T04:39:58.050 回答
1

为了安全起见,您应该将三元表达式放在括号 () 中,因为三元运算符 ?: 具有微妙的优先级,如果您不注意,可能会咬到您。

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

这个例子可能并不重要,但是如果三元是复杂表达式的一部分,优先规则可能会使编译器对表达式的解释与您的预期不同。

于 2009-11-05T05:54:31.600 回答
0

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

它是这样工作的:

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

编辑:

我可能一直在想什么:

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

于 2009-11-05T04:18:26.007 回答
0

还有一个变种:

string message = XmlConvert.ToString(5 == five);
Console.Write(message);
于 2010-09-09T19:12:05.827 回答
0

最简单的是 Console.WriteLine((五 == 5).ToString());

于 2010-10-13T15:03:32.700 回答
0

来自@JohnK 的评论使用:

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

将布尔值 true/false 表示为字符串。该字段是只读的。 https://msdn.microsoft.com/en-us/library/system.boolean.truestring(v=vs.110).aspx

于 2017-10-17T19:42:38.493 回答
0

在带有 Eval 的 c# 中使用三元运算符语句。(在 aspx 页面中)

<span><%# Eval("productname").ToString().Length<=0 ? "<label style=\"color: red;\">Notes<span></span></label>" : "<label style=\"color: blue;\">Notes<span></span></label>"%></span>
于 2018-03-28T10:30:27.950 回答