三元运算符如何工作?

Sar*_*a S 8 c c# java ternary-operator

请演示三元运算符如何使用常规if/else块.例:

Boolean isValueBig = value > 100 ? true : false;
Run Code Online (Sandbox Code Playgroud)

完全重复: 如何使用三元运算符?

Ken*_*ric 30

Boolean isValueBig = ( value > 100  ) ? true : false;


Boolean isValueBig;

if(  value > 100 ) { 
      isValueBig = true;
} else { 
     isValueBig = false;
}
Run Code Online (Sandbox Code Playgroud)

  • 或者也许是布尔值isValueBig =((值> 100)?true:false)?真假; 使它更加布尔 - i这是三元运算符的一个非常无意义(虽然正确)的使用. (3认同)
  • 实际上,实际上我希望你只使用isValueBig =(value> 100); 它的工作方式相同:P (3认同)

Dan*_*ego 16

三元运算和if/else之间的区别在于三元表达式是一个计算值的语句,而if/else则不是.

要使用您的示例,从使用三元表达式更改为if/else,您可以使用以下语句:

Boolean isValueBig = null;
if(value > 100)
{ 
    isValueBig = true 
}
else
{
    isValueBig = false;
}
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,您的陈述与以下内容相同:

Boolean isValueBig = (value > 100);
Run Code Online (Sandbox Code Playgroud)


Kon*_*lph 10

当我不熟悉C++时,我发现它有助于阅读这个结构,如下所示:

Boolean isValueBig = if condition ? then x else: y;
Run Code Online (Sandbox Code Playgroud)

(请注意,这不是有效的代码.这正是我训练自己阅读的内容.)


emp*_*mpi 6

Boolean isValueBig;

if (value > 100)
{
   isValueBig = true;
}
else 
{
   isValueBig = false;
}
Run Code Online (Sandbox Code Playgroud)


use*_*650 5

Boolean isValueBig;

if(value > 100) { isValueBig = true; } else { isValueBig = false; }
Run Code Online (Sandbox Code Playgroud)


bil*_*llb 5

我从不喜欢三元运算符,因为我认为它很难阅读。碰巧的是,乔恩·斯凯特(Jon Skeet)和他的书《深度学习中的C#》终于把这只老狗击倒了,让它沉没了。乔恩说。

值> 100?

“是”:“否”

现在盲人可以看到。

希望这可以帮助您使其成为第二天性。