这在C#y - = y> 9中意味着什么?9:0;

bar*_*s12 -2 c# ternary-operator

当我试图理解C#代码块时,我问自己这段代码意味着什么:

y -= y > 9 ? 9:0;
Run Code Online (Sandbox Code Playgroud)

提前致谢

pha*_*tom 11

是的,这段代码有点令人困惑.

基本上逻辑如下:

if y is greater than 9
    subtract y by 9
otherwise
    subtract y by 0
Run Code Online (Sandbox Code Playgroud)

这也等同于以下代码:

if (y > 9) {
    y = y - 9;
}
else {
    y = y - 0;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,其他情况当然是多余的,但我做了直译.

如需进一步阅读,请在此处查看.祝好运!