如何在c#中使用这个语句的三元运算符

11 c# ternary-operator

int five = 5;
Run Code Online (Sandbox Code Playgroud)
  • 当变量5等于5时,写入true
  • 当变量5不等于5时,写入false

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

rom*_*n m 27

int five = 5;
string answer = five == 5 ? "true" : "false";
Run Code Online (Sandbox Code Playgroud)

我看到你想用它来编写ASP.NET中的值,answer字符串将保存你想要的值,随你使用它.

  • 变化>>字符串答案= 5 == 5?bool.TrueString:bool.FalseString; (5认同)

Jam*_*nen 9

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

Console.WriteLine((five == 5) ? 'true' : 'false');
Run Code Online (Sandbox Code Playgroud)

(你不应该严格要求内部的内容,但为了清楚起见,我想包括它们.)

如果布尔值的计算结果为true,则整个表达式等于?和之间的值:.如果布尔值的计算结果为false,则表达式等于:.之后的值.

我不相信你可以在运算符的中间包含代码行.这些只是表达式,一旦评估条件,它就会替换整个运算符"短语".

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


jri*_*sta 5

你可以让它变得非常简单。比较 5 到 5 个布尔值结果,因此以下情况也是可能的:

int five = 5;
Console.WriteLine((five == 5).ToString());
Run Code Online (Sandbox Code Playgroud)

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

int five = 5;
Console.WriteLine((five == 5).ToString().ToLower());
Run Code Online (Sandbox Code Playgroud)

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

int five = 5;
Console.WriteLine(five == 5);
Run Code Online (Sandbox Code Playgroud)