嗨,我有一个类似的问题
bool isCompleted = true;
if(isCompleted){x= 5}
所以我想使用三元运算符而不使用返回或赋值之类的上述代码
isCompleted ? int x = 5 : <do nothing>;
那么可以使用三元运算符而不使用返回或赋值吗?
谢谢。
您需要在布尔值之前赋值。
x = isCompleted ? 5: 0;
第二,您遇到类型错误。如果isCompleted = true,则上面将设置x = 5,否则将设置x = 0
isComplete ? 5 :false
将无法编译,因为您无法将布尔值分配给一个整数。
尝试像这样使用它:
x = isCompleted ? intValue(if true) : intValue(if false);
由于已将x
声明为int
,因此无论所评估的条件如何,都必须在int
中提供值。您使用的任何其他类型值在这里都行不通。因此,您编写的false
是错误的。您可能需要在此处提供int
值。
如果要基于布尔条件执行某些代码逻辑,则可能需要在此处使用if...else
,因为它不仅可以为变量分配一些值,还可以帮助您做更多的事情。
希望这会有所帮助。
您希望将x设置为5,如果为true。否则保持x值?
x = isCompleted吗? 5:x: