我试图将递增的值转换为字符串。
i++.ToString()上述声明运作良好。
++i.ToString()这个显示了错误行。为什么?
发布于 2014-06-12 09:03:31
因为在第二个表达式中,首先调用i的i方法,++运算符对字符串没有意义。另一方面,在第一个表达式中,整数i由一个递增,并调用ToString()方法。所以你得到了你的号码的字符串表示。正如ulugbek-umirov在他的评论中已经指出的那样,你可以接受它:
(++i).ToString();请看一下这里。
发布于 2014-06-12 09:06:14
因为第二个意思是:
++(i.ToString()) // Oops, compiler error字符串类型不能递增。
发布于 2014-06-12 09:10:39
这是由于i++和++i的算子优先性不同造成的。
i++属于“主”,而++i属于“一元”组。但由于.也属于“初等”是具有较高的优先性。因此,首先执行.ToString。不能对字符串使用++运算符。
你可以用偏执狂来包装:
(++i).ToString()参考资料:运算符
https://stackoverflow.com/questions/24180368
复制相似问题