转换增量值
回答
由于第二装置:
++(i.ToString()) // Oops, compiler error
和字符串类型不能被递增。
删除额外的')' – Jesuraja
@Jesuraja删除。谢谢,这是错字。 –
(++i).ToString()
将做的伎俩。
你必须选择
使其在2次:
i++;
i.ToString();
使用圆括号设置优先级(第一次增加,然后转换为字符串)
(++i).ToString();
或
(i++).ToString();
错误是由应用操作符的优先级引起的。 在你的指令中,你试图对一个字符串应用一个int增量。 如果您想发表增量你应该做的:
(++i).ToString();
它是由i++
和++i
不同的运营商precendence引起的。
i++
属于“Primary”,而++i
属于“Unary”组。但由于.
也属于“小学”具有较高的优先权。所以.ToString
首先执行。您不能在字符串上使用++
运算符。
你可以用它在paranthesis:
(++i).ToString()
参考:Operators
答案和评论说,这是由于什么“执行第一”是误导。此问题是由于的优先级的.
相对于++
(前缀)。评估顺序与它无关 - 尤其是因为++i.ToString()
不能编译,因此根本没有评估(因此没有评估顺序)。请参阅precedence vs associativity vs order。
因为当++被用作后缀时,它会立即增加它的值,然后使用ToString()将它转换为字符串。
相反,如果您使用++作为前缀运算符,那么它会使用ToString()将现有值转换为字符串,然后它会尝试增加该值,因此在这种情况下,您会在增加字符串值时出现错误。
所以尝试使用圆括号将其优先级提高为(++ i).ToString();
感谢您的第一个回答:) – Jesuraja
- 1. 增量/流式XSLT转换?
- 2. 将增量对转换为度数
- 3. 的Python:转换奎尔增量为HTML
- 4. Highstock增量MySQL时间戳转换
- 5. 浮动到长转换增加值
- 6. 增量值
- 7. 增量HREF值:
- 8. 增量值
- 9. jQuery增量增加css值
- 10. 变量不会增加增量值吗?
- 11. 转换的递增/改变字符串值Jbutton将现有的增量变量名修改的Java
- 12. 带转换的线性/增量旋转动画
- 13. - [R增量列值
- 14. JSF增量值bean
- 15. 增量列表值
- 16. 增量href的值
- 17. 数字皇冠旋转的增量/减量值
- 18. 查找转换(.mst)增删
- 19. 标识列增量跳转
- 20. 的Javascript旋转增量
- 21. mysql的增量SQL转储
- 22. JavaScript替换为增量
- 23. 转换数值型向量转换为字符串
- 24. 转换字符输入转换成数值变量
- 25. 将变量值转换为新方法
- 26. 将javascript值转换为php变量
- 27. 将数组值转换为变量
- 28. 将变量引用转换为值?
- 29. 以JavaScript变量值转换成HTML5
- 30. 常量值不能转换为int
虽然这对于重现的人来说是微不足道的,但我鼓励您在未来的问题中包含您遇到的确切错误细节。简单地说,“这个显示错误”使事情不清楚。 –
它显示红色的错误行... – Jesuraja
在这里你可以看到,对于'i ++'和'++ i',运算符优先级是不同的:http://msdn.microsoft.com/en-us/library/6a71f45d .aspx第二个属于“一元”组,但'.'属于“主”。所以'.ToString'首先被执行。 –