1

使用三元运算符时遇到问题。

...
char symbol = str_base[i];
int count = 1;
...

(count == 1) ? str_rle += symbol : str_rle += count.ToString() + symbol;

得到这样的错误: 只有赋值、调用、递增、递减和新对象表达式可以用作语句

为什么?三元运算符真的只适用于:调用函数,++ & -- 吗?

谢谢!

4

1 回答 1

4

行的左侧是比较而不是分配(不确定您要在这里做什么)。我希望您可以将三元运算符用于这种条件执行,但不幸的是您不能。在这种情况下,您可以在表达式的另一侧使用三元运算符;

str_rle += (count == 1) ? symbol : count.ToString() + symbol;
于 2013-01-06T19:16:19.577 回答