如果有如下定义
int i = 0;
string str = “abc”;
那么
string s1 = str + i;

string s2 = str + i.toString();
有区别吗?

解决方案 »

  1.   

    没有区别,因为string重载了+运算符,会将其它类型的变量转换为string类型
      

  2.   

    有区别,string s1 = str + i;这个是错误的,字符串和整型变量是不能直接相加的,必须把整型变量转成字符串,字符串之间+号是起连接作用的,所以string s2 = str + i.toString();这个出来的结果是abc0
      

  3.   

    没区别, str + i; 其实就是调用的str+i.ToString();
      

  4.   

    没有区别,因为string重载了+运算符,会将其它类型的变量转换为string类型
      

  5.   

    sorry,我理解错了,惭愧……
      

  6.   

    一样的 string类型 和Int 本身就强转了