C#使用三元运算符。什么时候?

时间:2013-01-06 19:10:01

标签: call increment ternary-operator assignment-operator decrement

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

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

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

出现此类错误: 只有赋值,调用,递增,递减和新对象表达式才能用作语句

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

谢谢!

1 个答案:

答案 0 :(得分:4)

你的行的左边是比较而不是作业(不知道你在这里要做什么)。我希望你可以使用三元运算符进行这种条件执行,但不幸的是你不能。在这种情况下,您可以在表达式的另一侧使用三元运算符;

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