日期:2014-05-20  浏览次数:20782 次

急!!!关于类型转换的问题
我现在:
string   zifu= "我的学号是: ";
int   shuju=1;
zifu   =   zifu   +   shuju;(可以)(而直接zifu   =   shuju,会说不能隐式转换,说明数值类型不能隐式的转换成字符串,而zifu=zifu+shuju.toString()当然是对的,他已经把INT显示转换成STRING型了)
所以:
上面问题到底是:
(1)数值类型能隐式转换成字符串类型吗?
(2)+号起了连接字符串的什么作用?????
(3)还是编译器发现左边zifu是字符串所以右边的shuju隐式默认用了shuju.ToString();
(4)zifu=zifu+shuju根本就是错的,只是刚好编译器通过了
小弟初学,望大虾们解惑!!!

------解决方案--------------------
zifu = zifu + shuju我记得好像并不是自动转换string,是先装箱为object的,
效率比zifu=zifu+shuju.toString()要低
------解决方案--------------------
因为zifu=zifu+shuju右边的zifu+shuju 字符型数据和数据类型相加,根据‘+’号的重载把shuju改为shuju.toshring()了

我就是我!