Ternary operator with index++ gives "Only assignment, call, increment, decrement, await and new object expressions can be used as statement"

Ber*_* IT 0 c# increment ternary-operator

我没有得到此提示文本以及代码无法编译的原因:

int index = 0;
bool result = false;

result ? index++ : index--;
Run Code Online (Sandbox Code Playgroud)

这是增加/减少吗?

为什么会出现编译错误:“只能将赋值,调用,递增,递减,等待和新对象表达式用作语句”?

Sam*_*nen 5

三元运算符本身并不是一个语句。里面的内容并不重要,它本身就是什么。这将是一个声明:

index += result ? 1 : -1;
Run Code Online (Sandbox Code Playgroud)