使用三元运算符不使用转让或退回
您好我有一个像使用三元运算符不使用转让或退回
bool isCompleted = true;
if(isCompleted){x= 5}
,所以我想用上面的代码中使用三元运算符的一个问题,而无需使用回报或分配如
isCompleted ? int x = 5 : <do nothing>;
因此,它是可以使用三元运算符而不使用返回或赋值?
谢谢。
Yoh Deadfall this code is sample code and作为我的要求,我不想使用赋值(x),因为我只是想要:true?
使用'if'运算符:'if(isCompleted)x = 5;' –
是的,这是最终的解决方案,但我想三元,所以我可以优化我的代码,无论如何谢谢 –
尝试使用这样的:
x = isCompleted ? intValue(if true) : intValue(if false);
既然你已经宣布x
为int
,你必须提供值无论评估的条件如何,都可以使用int
。您使用的任何其他类型的值不会在这里工作。因此你写的false
是错误的。您可能想要在那里提供int
值。
如果您希望根据bool条件执行某些代码逻辑,则可能需要在此处使用if...else
,因为这样可以帮助您做的不仅仅是将一些值分配给变量。
希望这会有所帮助。
HarveySpecter this code是示例代码 和我的要求,我不想使用作业(x)作为 我只想︰ true?:
如果你想执行一些逻辑,而不是只分配一些值到变量,你可能想使用'if'。这样,当if条件为真时,你可以执行任何你想要的逻辑,当它为假时不做任何事情。总之,使用简单的'if ... else'。 –
是的,这是最终的解决方案,但我想三元,以便我可以优化我的代码,无论如何谢谢。 –
您需要布尔值之前的赋值。
x = isCompleted ? 5: 0;
其次,你有一个类型错误。以上将设置X = 5,如果isCompleted = TRUE,否则将设置X = 0
isComplete ? 5 :false
将无法编译,因为你不能一个布尔值赋给一个int。
Jon 由于我不想使用这个赋值运算符 –
可以理解。如果情况如下所示,那么if语句会更强。三级运营商很好,但有时候不合适。 – Jon
如果为true,您希望将x设置为5。否则保持x值?
x = isCompleted? 5:x:
您必须在某个表达式中存储或使用三元运算符的结果,否则我看不到使用三元运算符的要点。 – Adil
你想做什么?三元操作员在这里完成什么?为什么,如果你坚持喜欢问号,不仅仅是:'x = isCompleted? 5:0;' – TZHX
这段代码是示例代码,并且按照我的要求,我不想使用赋值(x),因为我只是想要这样:true?: –