C# 我们为什么使用'';c中的字符#

C# 我们为什么使用'';c中的字符#,c#,C#,我在看某人的密码。我发现: XOffset = !MirroredMovement ? trans.x * MoveRate : -trans.x * MoveRate; 他用“?”字,为什么?这是什么意思?我不明白。?不是运算符,?和的组合:是运算符,称为“三元运算符” 三元运算符是接受三个参数的运算符。第一个参数是比较参数,第二个参数是真实比较的结果,第三个参数是错误比较的结果。如果它有帮助,您可以将操作符看作是编写If-else语句的缩短方式 这是三元运算符 condition ? va

我在看某人的密码。我发现:

XOffset = !MirroredMovement ? trans.x * MoveRate : -trans.x * MoveRate;

他用“?”字,为什么?这是什么意思?我不明白。

不是运算符,
的组合:
是运算符,称为“三元运算符”


三元运算符是接受三个参数的运算符。第一个参数是比较参数,第二个参数是真实比较的结果,第三个参数是错误比较的结果。如果它有帮助,您可以将操作符看作是编写If-else语句的缩短方式

这是三元运算符

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;
}

只需转到以下文档:三元运算符::解释: