使用三元运算符时遇到问题。
...
char symbol = str_base[i];
int count = 1;
...
(count == 1) ? str_rle += symbol : str_rle += count.ToString() + symbol;
出现此类错误: 只有赋值,调用,递增,递减和新对象表达式才能用作语句
为什么呢?三元运算符真的只有:调用函数,++& - ?
谢谢!
答案 0 :(得分:4)
你的行的左边是比较而不是作业(不知道你在这里要做什么)。我希望你可以使用三元运算符进行这种条件执行,但不幸的是你不能。在这种情况下,您可以在表达式的另一侧使用三元运算符;
str_rle += (count == 1) ? symbol : count.ToString() + symbol;