带有索引++的三元运算符给出“仅赋值,调用,递增,递减,等待和新对象表达式可以用作语句”

时间:2019-07-08 15:46:55

标签: c# increment ternary-operator

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

int index = 0;
bool result = false;

result ? index++ : index--;

这是增加/减少吗?

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

1 个答案:

答案 0 :(得分:5)

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

index += result ? 1 : -1;