首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >换算增量值

换算增量值
EN

Stack Overflow用户
提问于 2014-06-12 09:02:42
回答 8查看 183关注 0票数 3

我试图将递增的值转换为字符串。

代码语言:javascript
复制
i++.ToString()

上述声明运作良好。

代码语言:javascript
复制
++i.ToString()

这个显示了错误行。为什么?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2014-06-12 09:03:31

因为在第二个表达式中,首先调用ii方法,++运算符对字符串没有意义。另一方面,在第一个表达式中,整数i由一个递增,并调用ToString()方法。所以你得到了你的号码的字符串表示。正如ulugbek-umirov在他的评论中已经指出的那样,你可以接受它:

代码语言:javascript
复制
(++i).ToString();

请看一下这里

票数 8
EN

Stack Overflow用户

发布于 2014-06-12 09:06:14

因为第二个意思是:

代码语言:javascript
复制
++(i.ToString())  // Oops, compiler error

字符串类型不能递增。

票数 2
EN

Stack Overflow用户

发布于 2014-06-12 09:10:39

这是由于i++++i的算子优先性不同造成的。

i++属于“主”,而++i属于“一元”组。但由于.也属于“初等”是具有较高的优先性。因此,首先执行.ToString。不能对字符串使用++运算符。

你可以用偏执狂来包装:

代码语言:javascript
复制
(++i).ToString()

参考资料:运算符

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24180368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档