我正在查看某人的代码。我找到了:
XOffset = !MirroredMovement ? trans.x * MoveRate : -trans.x * MoveRate;
他用'?'性格,为什么?这是什么意思 ?我不明白。
答案 0 :(得分:2)
?
不是运算符,?
和:
的组合是运算符,称为“三元运算符”。
三元运算符是一个带三个参数的运算符。第一个参数是比较参数,第二个参数是真实比较的结果,第三个参数是错误比较的结果。如果有帮助,您可以将运算符视为编写if-else语句的缩短方式。
答案 1 :(得分:2)
那是三元运营商。
condition ? value1 : value2
简称:
if (condition)
{
return value1;
}
else
{
return value2;
}
在这个例子中你可以这样写:
XOffset = !MirroredMovement ? trans.x * MoveRate : -trans.x * MoveRate;
像那样:
if (!MirroredMovement)
{
XOffset = trans.x * MoveRate;
}
else
{
XOffset = -trans.x * MoveRate;
}