急!!!关于类型转换的问题
我现在: 
 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()了   
 我就是我!